利用K8S可以给容器注入环境变量,因此需要将数据库等一些可能与环境有关的抽离出来,利用k8s的configmap注入(Dockerfile也可以注入环境变量)。

image.png
利用${}读取环境变量如果不存在则引用:后面的本地配置
K8s &example
apiVersion: apps/v1
kind: Deployment
metadata:
name: hpmd-auth
namespace: dev
spec:
selector:
matchLabels:
app: hpmd-auth
replicas: 1 # tells deployment to run 4 pods matching the template
template: # create pods using pod definition in this template
metadata:
labels:
app: hpmd-auth
spec:
containers:
- name: hpmd-auth
image: ${CICD_IMAGE}:${CICD_EXECUTION_ID}
ports:
- containerPort: 9000
name: server
imagePullPolicy: Always
envFrom:
- configMapRef:
name: config-map
imagePullSecrets:
- name: docker-secret
在k8s里面创建ConfigMap

image.png