kubernetes - GitOps (Flex) 通过 HelmRelease 操作符在 Kubernetes 中安装标准 Jenkins Helm 图表

标签 kubernetes kubernetes-helm gitops

我刚刚开始在 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?

最佳答案

您是否尝试过检查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

关于kubernetes - GitOps (Flex) 通过 HelmRelease 操作符在 Kubernetes 中安装标准 Jenkins Helm 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60022791/

相关文章:

azure - 在aks中部署nginx-ingress,没有rbac问题

kubernetes - kube-apiserver : constantly 5 to 10% CPU: Although there is no single request

kubernetes-helm - 如何在 Helm 模板中包含嵌套值

kubernetes - 计算 Kubernetes 中的优势资源

kubernetes - 覆盖 kubernetes helm 子图中的值

kubernetes - Fluxcd 未应用任何错误 ="running kubectl: error: unable to recognize\"STDIN\": ..."

git - Pod 不可见

argocd - 如何在托管与源代码分开的 list 时创建功能分支?

rest - K8禁止尝试授予额外特权

kubernetes - 部署服务时是否有默认的NodePort?