【发布时间】:2021-01-21 19:54:39
【问题描述】:
我正在尝试将 pod 分配给特定节点作为 helm 命令的一部分,所以到最后部署 yaml 应该如下所示
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
node-name: dev-cpu-pool
我正在将此命令用作 Jenkins 文件部署的一部分
`sh "helm upgrade -f charts/${job_name}/default.yaml --set nodeSelector.name=${deployNamespace}-cpu-pool --install ${deployNamespace}-${name} helm/${name} --namespace=${deployNamespace} --recreate-pods --version=${version}`"
部署运行良好,pod 已启动并运行,但由于某种原因,我无法将 nodeSelector 键和值视为部署 yaml 的一部分,因此 pod 未分配给我想要的特定节点。知道有什么问题吗?我应该将任何占位符作为图表模板的一部分还是不是必须的?
【问题讨论】:
-
它需要以某种形式包含在 Helm YAML 模板中。您能否编辑问题以包含部署的相关片段?
-
Helm 图表中有什么?它是否包含类似的
nodeSelector:块? -
嗨,不,我的图表模板不包括这样的块节点选择器:
-
apiVersion: apps/v1beta2 kind: Deployment spec: replicas: {{ .Values.replicas }} strategy: type: RollingUpdate rollingUpdate: {{ toYaml .Values.rollingUpdate | indent 6 }} selector: matchLabels: app: {{ .Chart.Name }} template: metadata: labels: app: {{ .Chart.Name }} buildVersion: {{ .Values.buildVersion }} spec: imagePullSecrets: - name: registry-credentials nodeSelector: {} containers: - name: {{ .Chart.Name }}
标签: kubernetes-helm