Kubernetes common resource document prepared by example, hereby record easy future reference.
1、Namespace
apiVersion: v1
kind: Namespace
metadata:
name: oas-dev
2、Deploy
apiVersion: apps/v1
kind: Deployment
metadata:
name: openailab-security-auth-service
namespace: oas-dev
labels:
name: openailab-security-auth-service
spec:
replicas: 1
selector:
matchLabels:
name: openailab-security-auth-service
template:
metadata:
labels:
name: openailab-security-auth-service
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: env
operator: In
values:
- dev
containers:
- name: openailab-security-auth-service
image: 10.12.1.202:8088/oascloud/openailab-security-auth-service:latest
env:
- name: APOLLO_APP_ID
value: 'openailab-security-auth-service'
- name: APOLLO_EUREKA_URI
value: 'http://10.98.100.95:8080/'
- name: APOLLO_NAMESPACE
value: 'application'
- name: SPRING_EUREKA_URI
value: 'http://10.111.176.152:8080/eureka/'
- name: LD_LIBRARY_PATH
value: '$LD_LIBRARY_PATH:/usr/local/oas/library/auth'
volumeMounts:
- name: openailab-security-auth-service
mountPath: /usr/local/logs
- name: auth-library
mountPath: /usr/local/oas/library/auth
command: ['sh','-c','java -server -Xms512m -Xmx1024m -Djava.io.tmpdir=/var/tmp -Duser.timezone=Asia/Shanghai -jar openailab-security-auth-service-*.jar --server.port=8080 --spring.profiles.active=remote']
ports:
- containerPort: 8080
resources:
requests:
memory: 512Mi
cpu: 500m
limits:
memory: 1024Mi
cpu: 1000m
initContainers:
- name: init-apollo
image: busybox
command: ['sh', '-c']
args:
- echo Prepare to apollo initialize..;
until nc -w 1 -z 10.98.100.95 8080;
do echo Waiting for eureka initialization to complete..; sleep 10; done;
echo Eureka is ready.;
until nc -w 1 -z 10.98.100.95 8090;
do echo Waiting for admin initialization to complete..; sleep 10; done;
echo Admin is ready.;
echo Apollo Initialization successful!;
volumes:
- name: openailab-security-auth-service
hostPath:
path: /usr/local/logs
- name: auth-library
hostPath:
path: /usr/local/oas/library/auth
3、Deploy Service
apiVersion: v1
kind: Service
metadata:
name: openailab-security-auth-service
namespace: oas-dev
labels:
name: openailab-security-auth-service
spec:
type: NodePort
ports:
- nodePort: 30014
targetPort: 8080
port: 8080
selector:
name: openailab-security-auth-service
4、Endpoints
apiVersion: v1
kind: Endpoints
metadata:
name: elasticsearch
namespace: oas-dev
subsets:
- addresses:
- ip: 10.12.1.203
ports:
- name: es01
port: 9500
- name: es02
port: 9501
- name: es03
port: 9502
5、Endpoints Service
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
namespace: oas-dev
spec:
type: NodePort
clusterIP: 10.110.181.25
ports:
- name: es01
port: 9500
targetPort: 9500
protocol: TCP
- name: es02
port: 9501
targetPort: 9501
protocol: TCP
- name: es03
port: 9502
targetPort: 9502
protocol: TCP
At present work using only these four categories to the resource file.