我刚刚开始在 Kubernetes 中使用 Weavework 的 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?