Как подключить пакет helm к тому PersistentStorage? - PullRequest
0 голосов
/ 18 июня 2020

Я часто видел, как этот вопрос возникает, и мне еще не удалось найти чистое, универсальное c решение. Я только изучаю Kubernetes, так что, возможно, мне что-то не хватает c. Но вот что я сделал:

  1. install docker -desktop with kubernetes
  2. вручную создать том постоянного хранилища с помощью файла yaml (показано ниже)
  3. helm install redis dandydev/redis-ha

Или вы можете использовать любую другую диаграмму управления, будь то elasticsearch, postgres, вы называете это. Я всегда получаю pod has unbound immediate PersistentVolumeClaims.

Также, когда я запускаю: kubectl get storageclasses.storage.k8s.io У меня есть (по умолчанию) хранилище:

NAME                 PROVISIONER          AGE
hostpath (default)   docker.io/hostpath   3h8m

Может ли кто-нибудь помочь мне исправить эту проблему в общем c путь? Так что я могу установить Helm-диаграммы и автоматически подключить их к постоянному тому хранилища?

My volume.yaml:

kind: PersistentVolume
apiVersion: v1
metadata:
  name: redis-volume
  labels:
    type: local
    app: redis
spec:
  storageClassName: ""
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/mnt/redis"

1 Ответ

1 голос
/ 18 июня 2020

Хорошо, поэтому я посмотрел больше в Интернете среди различных пользовательских решений, и одно действительно сработало: https://github.com/helm/charts/issues/12521#issuecomment -477834805

Кроме того, этот ответ предоставляет более подробную информацию о том, как включить динамику c локальная подготовка: pod имеет несвязанные PersistentVolumeClaims

В основном (помимо создания тома выше) мне нужно вручную:

  1. создать класс хранилища , через storage-class.yaml
  2. добавьте этот класс хранилища в helm в 'values.yaml'
# storage-class.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: data-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

Кроме того, некоторые диаграммы, работающие локально, требуют от вас настройки их конфигурации , под <your-helm>/charts/<chart-name>/<file-to-config.yaml> или через --set <var>=value, поскольку большинство диаграмм руля хотят, чтобы вы использовали больше узлов, а при локальном запуске у вас может быть только один узел.

Другой вариант - использовать helm install --set replicas=1 ... и некоторые графики будут хорошо работать с этим.

Надеюсь, это кому-то поможет.

...