Я хочу указать узел назначения планирования для всех модулей, развернутых в operator.yaml

#kubernetes #ceph

#kubernetes #ceph

Вопрос:

Я хочу указать узел назначения планирования для всех модулей, развернутых в operator.yaml.

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

Я также хочу развернуть другие модули-операторы (csi-cephfsplugin / provider, csi-ebdplugin / provider) на указанном узле хранения. Какой yaml я должен написать?

Ответ №1:

Вы можете использовать nodeSelector поле в podSpec, чтобы выбрать узлы, на которых вы хотите запустить данный модуль. Сначала вам нужно будет добавить метку к целевому узлу (например, nodeType=storage), а затем добавить ту же метку-селектор в nodeSelector поле в 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/