最近工作中需要保证容器启动之前PostgreSQL先启动,然后Apollo再启动,不然会出现配置加载错误的问题。Kubernetes的初始化容器就能够满足这种场景。
InitContainers能够按照资源文件中初始化容器的顺序依次启动
apiVersion: apps/v1
kind: Deployment
metadata:
name: openailab-discovery-service
namespace: oas-uat
labels:
name: openailab-discovery-service
spec:
replicas: 1
selector:
matchLabels:
name: openailab-discovery-service
template:
metadata:
labels:
name: openailab-discovery-service
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: env
operator: In
values