GitOps (Flex) установка стандартной диаграммы Jenkins Helm в Kubernetes через оператор HelmRelease

Я только начал работать с системой Weavework Flux GitOps в Kubernetes. У меня обычные развертывания (развертывания, службы, тома и т. Д.) Работают нормально. Первый раз пытаюсь развернуть Helm-чарт.

Я выполнил инструкции из этого руководства: https://github.com/fluxcd/helm-operator-get-started, и после внесения нескольких небольших изменений его образец службы заработал. Поэтому я считаю, что у меня есть все необходимые инструменты, в том числе пользовательский оператор HelmRelease K8s.

Я хочу развернуть Jenkins через Helm, что, если я сделаю это вручную, так же просто, как эта команда Helm:

helm install --set persistence.existingClaim=jenkins --set master.serviceType=LoadBalancer jenkins stable/jenkins

Я хочу преобразовать это в объект HelmRelease в моем репозитории GitHub, управляемом Flex. Вот что у меня есть, согласно какой документации я могу найти:

apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
  name: jenkins
  namespace: jenkins
updating-applications/
    fluxcd.io/ignore: "false"
spec:
  releaseName: jenkins
  chart:
    git: https://github.com/helm/charts/tree/master
    path: stable/jenkins
    ref: master
  values:
    persistence:
        existingClaim: jenkins
    master:
        serviceType: LoadBalancer

У меня есть это в файле jenkins/jenkins.yaml из корня места в моем репозитории git, которое отслеживает Flex. Добавление этого файла ничего не дает... Я не получаю ни новых объектов K8s, ни объекта HelmRelease, ни нового выпуска Helm, когда я запускаю "helm list -n jenkins".

Я вижу некоторые упоминания о необходимости иметь теги image в моем разделе значений, но поскольку мне не нужно указывать какие-либо изображения в моем ручном вызове Helm, я не уверен, что я бы добавил в терминах ' теги изображений. Я также видел примеры определений HelmRelease, у которых нет тегов image, поэтому кажется, что они не являются абсолютно необходимыми.

Я поигрался с добавлением нескольких аннотаций в свой раздел "метаданные":

annotations:
#    fluxcd.io/automated: "true"
    # per: https://blog.baeke.info/2019/10/10/gitops-with-weaveworks-flux-installing-and-updating-applications/
    fluxcd.io/ignore: "false"

Но ничто из этого не помогло сдвинуть дело с мертвой точки. Может ли кто-нибудь сказать мне, что мне нужно сделать, чтобы получить эквивалент простой команды Helm, которую я дал в верхней части этого сообщения, для работы с Flex/GitOps?

1 ответ

Решение

Вы пробовали проверять журналы на модулях fluxd и flux-helm-operator? Я бы начал там, чтобы увидеть, какое сообщение об ошибке вы получаете. Я вижу, что вы используете https для git. Возможно, вы захотите дважды проверить, но я не помню, чтобы когда-либо видел какую-либо документацию, настраивающую вытягивание диаграмм через git для использования чего-либо, кроме SSH. Более того, я бы порекомендовал просто вытащить эту диаграмму из стабильного репозитория helm:

apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
  name: jenkins
  namespace: jenkins
  annotations: #not sure what updating-applications/ was?
    fluxcd.io/ignore: "false" #pretty sure this is false by default and can be omitted
spec:
  releaseName: jenkins
  chart:
    repository: https://kubernetes-charts.storage.googleapis.com/
    name: jenkins
    version: 1.9.16
  values:
    persistence:
        existingClaim: jenkins
    master:
        serviceType: LoadBalancer
Другие вопросы по тегам