Kubernetes 如何将部署分配给特定节点池
我是Kubernetes的新手,能够建立包括ingress在内的工作流。但我如何指定哪些部署(而不是POD)转到特定的节点池?名称空间对节点也有影响吗?请查阅以下链接: 另一个选项是使用关联:Kubernetes 如何将部署分配给特定节点池,kubernetes,deployment,azure-aks,Kubernetes,Deployment,Azure Aks,我是Kubernetes的新手,能够建立包括ingress在内的工作流。但我如何指定哪些部署(而不是POD)转到特定的节点池?名称空间对节点也有影响吗?请查阅以下链接: 另一个选项是使用关联: apiVersion: v1 kind: Pod metadata: name: with-node-affinity spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution:
apiVersion: v1
kind: Pod
metadata:
name: with-node-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/e2e-az-name
operator: In
values:
- e2e-az1
- e2e-az2
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: another-node-label-key
operator: In
values:
- another-node-label-value
containers:
- name: with-node-affinity
image: k8s.gcr.io/pause:2.0
请参阅此链接:
另一个选项是使用关联:
apiVersion: v1
kind: Pod
metadata:
name: with-node-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/e2e-az-name
operator: In
values:
- e2e-az1
- e2e-az2
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: another-node-label-key
operator: In
values:
- another-node-label-value
containers:
- name: with-node-affinity
image: k8s.gcr.io/pause:2.0
节点独立于名称空间。您可以在部署规范部分中指定的pod模板中指定节点关联规则。您只能将POD分配给特定的节点,事实上,部署就是这样做的:创建POD,以便只将POD分配给节点是有意义的。节点独立于名称空间。您可以在部署规范部分中指定的pod模板中指定节点关联规则。您只能将pod分配给特定节点,事实上,部署就是这样做的。创建pod时,只将pod分配给节点是有意义的。我想分配的是部署而不是pod?有没有一种方法可以替代部署?这毫无意义,部署不存在于节点上,它们只存在于api中server@James,您可以使用池名称相应地标记节点,然后使用部署清单中的nodeAffinity将pod副本调度到该池中。好的,我已经解决了,将部署规范中的模板用作pod模板,然后使用该模板设置节点。这在弄清楚如何设置节点亲缘关系时也很有用。我想要分配的是部署,而不是pod?有没有一种方法可以替代部署?这毫无意义,部署不存在于节点上,它们只存在于api中server@James,您可以使用池名称相应地标记节点,然后使用部署清单中的nodeAffinity将pod副本调度到该池中。好的,我已经解决了,将部署规范中的模板用作pod模板,然后使用该模板设置节点。这在弄清楚如何设置节点亲缘关系时也很有用。这确实有助于澄清一切。这确实有助于澄清一切