首页 > 解决方案 > 我想为 operator.yaml 中部署的所有 Pod 指定调度目的地的节点

问题描述

我想为 operator.yaml 中部署的所有 pod 指定调度目标的节点。

        # (Optional) Discover Agent NodeAffinity.
        - name: DISCOVER_AGENT_NODE_AFFINITY
          value: "role=storage"
  rook-ceph                   rook-discover-29qtt                                                0 (0%)        0 (0%)      0 (0%)      

我还想在指定的存储节点上部署其他operator-pods(csi-cephfsplugin/provider、csi-ebdplugin/provider)。我应该写什么yaml?

标签: kubernetesceph

解决方案


您可以使用nodeSelectorpodSpec 中的字段来选择您希望给定 pod 运行的节点。您必须首先向目标节点添加标签(例如nodeType=storagenodeSelector ),然后在 podSpec的字段中添加相同的标签选择器。

K8s 文档中的示例:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
  nodeSelector:
    disktype: ssd

https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/


推荐阅读