平台在进行应用包部署的时候会自动向helm包最外层的value.yaml文件中注入nodeSelector信息,来达到将此应用部署到特定可用域中的功能。故在制作应用包时,资源需要指定nodeSelector,并且其值需从全局变量的nodeSelector参数中获取。
Helm包最外层values.yaml文件部分相关内容(标有底色的部分):
replicaCount: 1
global:
PLAT_SPRINGCLOUD: []
advance: {}
nodeSelector: {}
tolerations: []
affinity: {}
资源文件(deployment)中部分相关内容(标有底色的部分):
kind: Deployment
metadata:
name: apiorchestration
labels:
appmgmt: apiorchestration
spec:
replicas: 1
selector:
matchLabels:
appmgmt: apiorchestration
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
appmgmt: apiorchestration
spec:
nodeSelector:
{{ toYaml .Values.global.nodeSelector | indent 8 }}
containers: