mysql-pod.yaml
# overView:
# 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测
# 2. 补充重启策略/镜像拉去策略
# 3. 对容器资源进行限制apiVersion: apps/v1
kind: Pod
metadata:name: pub-oanamespace: hunterlabels:component: pub-oa
spec:restartPolicy: onFailure # 设置重启策略,此外还有 Always, Never方式volumes:- name: mysqlhostPath:path: /opt/mysql/datanodeSelector:component: prod-k8s-node1 # kubectl label node prod-k8s-node1 component=prod-k8s-node1containers:- name: pub-oa-dbimage: rigistry.cn-shanghai.aliyuncs.com/pub-oa-db:v1imagePullPolicy: IfNotPresent # 镜像拉去策略,此外还有Always, Neverports:- containerPort: 3306env:- name: MYSQL_USERvalueFrom:secretKeyRef:name: pub-oakey: MYSQL_USER- name: MYSQL_PASSWORDvalueFrom:secretKeyRef:name: pub-oakey: MYSQL_PASSWORDresources: # 容器资源限制requests:memory: 100Mi # 当pod内存超过100Mi时,会报OOMcpu: 50m # 当cpu超过limit限制时,不会被kill,但是会限制不超过limit值,1 CPU = 1000 millicpu(1 core = 1000m(毫核)),cpu资源是按 “时间片”的方式来分配的limits:memory: 500Micpu: 100mvolumeMounts:- name: mysqlmountPath: /var/lib/mysql
web-pod.yaml
# overView:
# 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测
# 2. 补充重启策略/镜像拉去策略
# 3. 对容器资源进行限制apiVersion: apps/v1
kind: Pod
metadata:name: pub-oanamespace: hunterlabels:component: pub-oa
spec:restartPolicy: onFailure # 设置重启策略,此外还有 Always, Never方式nodeSelector:component: prod-k8s-node1 # kubectl label node prod-k8s-node1 component=prod-k8s-node1containers:- name: pub-oa-webimage: rigistry.cn-shanghai.aliyuncs.com/pub-oa-app:v1imagePullPolicy: IfNotPresent # 镜像拉去策略,此外还有Always, Neverports:- containerPort: 8080env:- name: MYSQL_HOSTvalueFrom:secretKeyRef:name: pub-oakey: MYSQL_HOST- name: MYSQL_PORTvalueFrom:secretKeyRef:name: pub-oakey: MYSQL_PORT- name: MYSQL_USERvalueFrom:secretKeyRef:name: pub-oakey: MYSQL_USER- name: MYSQL_PASSWORDvalueFrom:secretKeyRef:name: pub-oakey: MYSQL_PASSWORDlivenessProbe: # 存活性探测httpGet: # 此外还有 exec,tcpSocket类型path: /code-library/listCodeLibraryport: 8080scheme: HTTPinitialDelaySeconds: 10 # 容器启动后,第一次执行探测时需要等待多少秒periodSeconds: 10 # 执行探测的频率timeoutSeconds: 2 # 探测超时时间readinessProbe: # 可用性探测httpGet: # 此外还有 exec,tcpSocket类型path: /code-library/listCodeLibraryport: 8080scheme: HTTPinitialDelaySeconds: 10 # 容器启动后,第一次执行探测时需要等待多少秒periodSeconds: 10 # 执行探测的频率timeoutSeconds: 2 # 探测超时时间resources: # 容器资源限制requests:memory: 100Mi # 当pod内存超过100Mi时,会报OOMcpu: 50m # 当cpu超过limit限制时,不会被kill,但是会限制不超过limit值,1 CPU = 1000 millicpu(1 core = 1000m(毫核)),cpu资源是按 “时间片”的方式来分配的limits:memory: 500Micpu: 100mvolumeMounts:- name: mysqlmountPath: /var/lib/mysql
configMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: pub-oanamespace: hunter
data:MYSQL_HOST: 192.168.179.141MYSQL_PORT: 3306
sceret.yaml
apiVersion: v1
kind: Secret
metadata:name: pub-oanamespace: hunter
type: Opaque
data:MYSQL_USER: cm9vdA== # 注意加-n参数,echo -n root|base64MYSQL_PASSWORD: aHVudGVy