Helm 3.0.2 сухой прогон + стабильный / прометей-оператор? Это должно работать?

С Helm v3.0.2 + новый кластер Kubernetes v1.14.9.

fyi, я уже добавил стабильное репо:

helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm install \
  --namespace prometheus \
  prom-dry-run \
  stable/prometheus-operator \
  --dry-run

manifest_sorter.go:175: info: skipping unknown hook: "crd-install"
manifest_sorter.go:175: info: skipping unknown hook: "crd-install"
manifest_sorter.go:175: info: skipping unknown hook: "crd-install"
manifest_sorter.go:175: info: skipping unknown hook: "crd-install"
manifest_sorter.go:175: info: skipping unknown hook: "crd-install"
Error: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "Alertmanager" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "Prometheus" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1", unable to recognize "": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"]

Я думал, что Helm 3 обратно совместим с существующими диаграммами? Это исключение?

Прометей-оператор несовместим с Helm 3? Обязательно ли использовать Helm 2? Или есть вариант обратной совместимости?


person clay    schedule 31.12.2019    source источник


Ответы (2)


К сожалению, CRD были исключением из диаграммы совместимости Helm v3.

Проблема в том, что --dry-run не может генерировать ресурсы с помощью CRD, потому что CRD не устанавливаются при пробном прогоне. Очевидно, это задокументированное поведение, хотя оно было задокументировано в пуле реализации. -запрос, которого нет в документации Helm.

Изменить: я забыл упомянуть, что лучший обходной путь на данный момент - установить CRD вручную. Тогда --dry-run будет работать. Helm v3 игнорирует CRD, которые уже установлены, поэтому вы можете просто оставить их там, когда будете довольны своей конфигурацией, и выполните установку по-настоящему.

Обновление CRD в Helm - это совершенно другая (еще не решенная) проблема < / а>.


stable/prometheus-operator получил поддержку Helm v3 в 8.2.0 в середине ноября 2019 г., так что это не так. проблема здесь.

bitnami/prometheus-operator получил поддержку в 0.3.0 всего за пару дней до этого.

Оба, по-видимому, активно поддерживаются на момент написания (март 2020 г.).


На случай, если кто-то придет и будет смущен тем, что названия двух приведенных выше диаграмм не являются ссылками: обе были переименованы, а одна перемещена.

Теперь они prometheus-community / kube-prometheus -stack (заменяет стабильный / prometheus-operator) и bitnami / kube-prometheus соответственно.

person TBBle    schedule 20.03.2020
comment
К вашему сведению, этот (хотя и очень полезный пост) немного устарел. Они обновили документацию для Helm, и теперь в них также есть некоторые изменения. (И также решили никогда не реализовывать возможность удаления или обновления CRD с помощью helm) - person Don Rhummy; 22.12.2020
comment
Я бы не сказал, что они решили никогда этого не делать. Я бы сказал, что не существует четкого способа сделать это, и что для этого потребуются некоторые изменения в том, как Kubernetes сам управляет CRD. Член SIG k8s api-machinery (владеющий CRD) проявил некоторый интерес к изучению таких изменений, но я не вижу дальнейшего продвижения в этом направлении, например, github.com/helm/community/pull/138#discussion_r475901928 - person TBBle; 22.12.2020

Планируется, что стабильное репо будет устаревшим и, вероятно, не будет обновляться последними диаграммами. Каноническим источником диаграмм Helm является Helm Hub . Используйте команду ниже, чтобы добавить репо и установить оператор prometheus из Helm Hub с помощью helm 3 или helm 2.

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-prom-release bitnami/prometheus-operator

Существует подробное руководство по переходу с Helm. 2 к штурвалу 3

В Helm 3 во время пробного запуска CRD не устанавливаются, но проверка Kubernetes выполняется по выходным данным диаграммы. Таким образом, любой CR, который использует CRD, установленный диаграммой, не пройдет проверку во время пробного прогона.

Текущие обходные пути:

1. Используйте шаблон штурвала вместо пробного запуска

2.Не указывайте CR в той же таблице, что и CRD.

3. перед пробным запуском установите CRD отдельно.

person Arghya Sadhu    schedule 31.12.2019
comment
у меня такая же проблема с графиком из репо битнами. - person flypenguin; 18.03.2020
comment
@flypenguin вы нашли решение? - person Sankar; 19.08.2020
comment
@Sankar, к сожалению, нет :( - person flypenguin; 30.09.2020