Обработка PersistentVolumeClaim в DaemonSet - PullRequest
2 голосов
/ 14 марта 2019

У меня есть DaemonSet, который создает модули диспетчера задач Flink, по одному на каждый узел.

Вершина

Скажем, у меня есть два узла

  • Узел-А
  • Узел B

Бобы

daemonSet создаст

  • pod-A на узле-A
  • pod-B на узле-B

Заявка на постоянный объем

скажи, что я создаю

  • pvc-A для pv-A, подключенного к узлу-A
  • pvc-B для pv-B, подключенного к узлу-B

Вопрос

Как связать pod-A на node-A для использования pcv-A ?

UPDATE:

После большого поиска в Google я наткнулся на то, что было бы лучше / чище использовать StatefulSet вместо этого. Это означает, что вы не получите функции, доступные вам через DaemonSet, например, один модуль на узел.

https://medium.com/@zhimin.wen/persistent-volume-claim-for-statefulset-8050e396cc51

1 Ответ

0 голосов
/ 14 марта 2019

Способ прикрепления PVC к вашему стручку DaemonSet ничем не отличается от того, как вы делаете это с другими типами стручков. Создайте свой ПВХ и смонтируйте его как том на капсуле.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: my-pvc
  namespace: x
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

Вот как будет выглядеть манифест DaemonSet:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: x
  namespace: x
  labels:
    k8s-app: x
spec:
  selector:
    matchLabels:
      name: x
  template:
    metadata:
      labels:
        name: x
    spec:
      ...
      containers:
      - name: x
        ...
        volumeMounts:
        - name: volume
          mountPath: /var/log
      volumes:
      - name: volume
        persistentVolumeClaim:
          claimName: my-pvc
...