GitOps (Flex) установка стандартной диаграммы Дженкинса Хелма в Кубернетес через оператора HelmRelease - PullRequest
1 голос
/ 02 февраля 2020

Я только начал работать с системой Weavework Flux GitOps в Кубернетесе. У меня есть регулярные развертывания (развертывания, службы, тома и т. Д. c.), Работающие нормально Я впервые пытаюсь развернуть диаграмму Хелма.

Я следовал инструкциям в этом уроке: 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 в моем управляемом Flex репозитории GitHub. Вот что у меня есть, согласно какой документации я могу найти:

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' из root местоположения в моем репозитории git что Flex контролирует. Добавление этого файла ничего не дает ... У меня нет новых объектов K8s, объекта HelmRelease и нового выпуска Helm, когда я запускаю "helm list -n jenkins".

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

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

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 Ответ

0 голосов
/ 02 февраля 2020

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

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
...