问题标签 [gitops]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - 在 gitops 原理中使用 Gitlab、Terraform、Flux 和 GKE 的最佳方式
我是 devops 的新手,我想知道,为 CI/CD 使用 GKE、Terraform 和 Gitlab 存储库的最佳方式是什么。现在,有一组命令与通量、证书管理器一起使用,但它不是自动化的。最佳实践、工具和整体方案是怎样使用的?感谢您的回答。
kubernetes - ArgoCD 跟踪指定路径中的子目录
我正在使用 ArgoCD,我想跟踪不同子目录下的文件。我已将路径设置为 ./root_directory,但我还想跟踪 root_directory 的子目录中的文件。例如 /root_directory/dir1、/root_directory/dir2,还有 /root_directory/dir1/dir1.1 ecc .. 我该怎么做?
谢谢你的帮助
argocd - 托管与源代码分开的清单时如何创建功能分支?
让我对gitops感到困惑的部分是建议将源代码与清单分开,例如,这就是argocd不得不说的:
强烈建议使用不同的 Git 存储库来保存您的 kubernetes 清单(与您的应用程序源代码分开)。有关更多理由,请参阅最佳实践。
在一个典型的项目中,我会使用gitlab来设置一个测试环境,然后为每个 PR 删除环境on_stop
。但是,如果我将清单与源代码分开,则不清楚argocd应该监视什么。
为了举例,假设我们有两个存储库:
foo
托管应用程序代码bar
托管不同应用程序的清单
认为:
- 我在分支
feature-001
中创建了一个新foo
分支。 - 每次我们向
feature-001
它添加提交时,都会创建一个新的docker镜像 (foo:$COMMIT_SHA
)。
我将如何创建一个argocd控制的应用程序来监视这个分支的变化?
我当然可以使用 CLI 创建应用程序:
但是 ArgoCD 怎么知道跟踪这个分支的变化?,即当一个新的 Docker 镜像从这个分支发布时,feature-001
我如何告诉argocd部署一个新版本的应用程序?
devops - 具有多种环境的 Gitops / IaC
我们为多个客户提供在线服务。每个客户都给出了网址,例如。
目前我们有很好的旧 bash 脚本来管理部署、创建新客户等......这真的很难管理。
作为一名开发人员,我喜欢 gitops 方法,我发现描述和提交应用程序应如何部署非常好。但是在我们的例子中,我们应该在 git 存储库中为每个客户提供专用目录,这将使其难以维护:
/gitops /customer1 /preprod a-deploy-descriptor.xml /prod ..
然后为了更新客户端,我们将不得不从一个文件复制粘贴更新。创造新客户也是如此。看起来并不容易。
是否有方法/工具可以将基础设施作为代码应用,但适用于无限数量的环境?
(我是 devops 新手,如果不清楚,请见谅)
fluxcd - 有没有办法手动重试 FluxCD HelmOperator 的 HelmRelease?
我只是在阅读https://docs.fluxcd.io/projects/helm-operator/en/stable/helmrelease-guide/debugging/#manually-performing-a-release-to-debug以及常见问题解答,但不能不知道如何触发 HelmRelease 的重试。
我的解决方法是向监视的发布存储库提交一个微不足道的更改,只是为了让 helmoperator 获得一个差异。有没有更好的办法?
git - 吊舱不可见
我遵循Kubecon Seattle 2018 Gitops 教程
,直到第 4 步一切正常,但在第 5 步podinfo pod
不可见。
观看 kubectl 获取 pod
“kubectl get svc”的输出
podinfo 不可用
然后我在日志中查找
kubectl logs deploy/flux -n default -f
那么是什么导致了确切的问题?是因为根据日志拒绝连接吗?
google-cloud-platform - 如何在 cloudbuild 中读取 pom 版本
我有 cloudbuild.yaml 文件,它正在部署 java 应用程序。现在我将提交 id 作为我的 docker 图像标签传递。但我想在我的 docker build 中传递 pom 版本。有一种方法可以使用 readMavenPom().getArtifactId() 函数在 jenkins 中读取 pom 文件。cloudbuild 中也有类似的东西吗?我的构建和推送步骤类似于下面的 cloudbuild.yaml
google-cloud-platform - Flux webhook 接收器给出 400 错误代码
H,我正在尝试使用此链接https://toolkit.fluxcd.io/guides/webhook-receivers/中提到的通量为 GitHub 启用 webbook 。GitHub 推送事件失败,得到 400 错误码。这是在 gcp 集群上。任何调试这个的指针都有很大的帮助。
在集群上,我交叉检查了控制器都已启动并正在运行
-普拉桑特
kubernetes - 是否可以将 Kubernetes 清单添加为 HelmRelease 的依赖项?
两周前我开始使用 Flux,一切都很顺利,谢谢!现在的问题...我们正在将 cert-manager 安装为 HelmRelease,并且遇到了全新 AKS 安装的问题。颁发者和证书应该依赖于 cert-manager HelmRelease 但我们没有这样做的选项,并且 kustomize 失败了,因为尚未安装 cert-manager。
发行人清单文件:
证书清单文件:
有什么我们可以做的吗?
github - 使用 GKE 创建 Jenkins X Kubernetes 集群会引发异常:找不到秘密“jenkins”
当我尝试使用此命令使用 GKE 创建 Jenkins X Kubernetes 集群时:
安装结束时抛出以下异常:
在安装期间,我选择默认设置并提供我自己的 github 设置,包括生成的个人访问令牌,但我不认为 github 令牌在这种情况下是问题(我很确定我所有的 github 设置都是正确的)