1

我刚刚开始在 Kubernetes 中使用 Wea​​vework 的 Flux GitOps 系统。我的常规部署(部署、服务、卷等)运行良好。我第一次尝试部署 Helm 图表。

我已按照本教程中的说明进行操作:https ://github.com/fluxcd/helm-operator-get-started并在进行一些小改动后使其示例服务正常工作。所以我相信我拥有所有合适的工具,包括自定义 HelmRelease K8s 操作符。

我想通过 Helm 部署 Jenkins,如果我手动执行,就像这个 Helm 命令一样简单:

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

我想在我的 Flex 管理的 GitHub 存储库中将此转换为 HelmRelease 对象。根据我能找到的文档,这就是我所拥有的:

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

我在我的 git 存储库中 Flex 正在监视的位置的根目录中的文件 'jenkins/jenkins.yaml' 中有这个。添加此文件没有任何作用...当我运行“helm list -n jenkins”时,我没有得到新的 K8s 对象、没有 HelmRelease 对象,也没有新的 Helm 版本。

我看到有人提到在我的“值”部分中必须有“图像”标签,但由于我不需要在手动调用 Helm 中指定任何图像,我不确定我会在“图像'标签。我还看到了没有“图像”标签的 HelmRelease 定义示例,因此它们似乎不是绝对必要的。

我尝试在“元数据”部分添加一些注释:

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?

4

1 回答 1

0

您是否尝试过检查fluxd 和flux-helm-operator pod 上的日志?我会从那里开始查看您收到的错误消息。我看到的一件事是您将 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
于 2020-02-02T05:56:00.027 回答