我刚刚开始在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的过程中指定任何图像,因此我不确定该添加什么内容图片标签。我还看到了没有'image'标签的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进行操作的简单Helm命令等效的操作?
您是否尝试过检查助焊剂和助焊剂驾驶者荚上的日志?我将从那里开始,查看您收到的错误消息。我看到的一件事是您在git中使用https。您可能需要仔细检查,但我不记得曾经见过任何通过git配置图表拉动以使用除SSH之外的任何内容的文档。此外,无论如何,我建议您从稳定的头盔存储库中提取该图表:
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