问题标签 [argocd]
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.
kustomize - Argo CD 和 Kustomize
全部。我正在使用 Argo CD v1.6.1 并尝试使用 Kustomize 部署应用程序。Argo CD 似乎无法识别我的 Kustomize 清单文件。查看 Argo CD 页面上的 Kustomize 文档,看起来它只支持以下 Kustomize 选项:
- namePrefix 是附加到 Kustomize 应用程序资源的前缀
- nameSuffix 是附加到 Kustomize 应用程序资源的后缀
- images 是 Kustomize 图像覆盖的列表
- commonLabels 是附加标签的字符串映射
这些是我能够使用 Kustomize 在基本清单文件中操作的唯一内容吗?我希望能够将 patchStrategicMerge 选项与我拥有的覆盖文件一起使用,这允许我操作 base.yaml 文件中的任何内容。它似乎无法识别种类:Kustomization 和 apiVersion:kustomize.config.k8s.io/v1beta1
谢谢你。
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部署一个新版本的应用程序?
security - 限制允许使用 ArgoCD 部署的 kubernetes 类型
我们希望允许我们的开发人员通过将他们的代码和 k8s 资源合并到一个由 ArgoCD 监视的 git repo 中来自动将他们的更改部署到 kubernetes 集群。发布管理团队将负责管理 ArgoCD 配置和设置新应用程序,以及在集群上创建命名空间、角色和角色绑定,而开发人员应该能够通过 GitOps 部署他们的应用程序,而无需与直接集群。出于调试目的,开发人员可能对集群具有读取权限。现在的问题是:理论上,开发人员可能会创建一个新的 yaml 并指定一个角色绑定资源,它将他/她的帐户绑定到集群管理员角色。由于 ArgoCD 具有集群管理员权限,这将是提升开发人员权限的一种方式。
编辑:根据文档,每个项目都可以使用clusterResourceWhitelist
. 是否有可能在全球范围内做到这一点?
gitlab - Argocd 与 GITLAB 存储库的连接
我正在尝试将 Gitlab 存储库添加到 Argo CD,但它抛出了这个错误。 无法连接 HTTPS 存储库:意外客户端错误:意外请求“https://git.blahhh.blahh//info/refs?service=git-upload-pack”状态码:400 我使用带有私钥的 SSH 连接,但仍然无法。安全组已充分配置。
amazon-eks - 加载 UI 时 Argocd 获取静态资源失败
ArgoCD 的新手。我已经在我的 EKS 集群上部署了 ArgoCD,前面有一个 AWS ALB 控制器。
鉴于 SSL 在 ALB 处终止,我使用具有以下参数的 API 服务器部署了 API 服务器:
当我在集群上转发 ArgoCD 时,我能够在本地检索对象。
但是,当我使用浏览器访问 UI 时,我得到 200 MSG 并得到一个空白的 UI 页面,并且我得到 main.js 和图像的 400 错误。谁能帮我解决这个问题?
kubernetes - 使用 terraform 覆盖 helm 图表中的配置文件
我正在尝试使用 ArgoCD 的掌舵图在我的 k8s 集群中部署 ArgoCD。我使用 Terraform 部署所有内容。现在我想从 ArgoCD 更改配置文件,以便它可以连接到我的私人仓库。当我在集群中运行 ArgoCD 之后使用 kubectl 手动更改文件时,它可以工作,但是当我尝试使用 terraform 时,我收到消息Error: configmaps "argocd-cm" already exists
,这意味着我无法覆盖由 ArgoCD 创建的配置映射。如何更改这些变量?
地形
java - 尝试访问部署在 K8s/Argocd 服务器上的 Spring 后端时,“缺少所需的受众”
我有一个 Java Spring 后端,我已经使用 Kubernetes 清单部署到 ArgoCD 上。通过让用户登录 Keycloak 来保护后端。部署后,我转到 /api/application-info,然后它让我登录到 Keycloak。但是在我登录后,它会将我重定向回来,我只看到This page isn’t working. If the problem continues, contact the site owner. HTTP ERROR 401
.
查看后端日志,我看到了Bearer error="invalid_token", error_description="An error occurred while attempting to decode the Jwt: The required audience is missing", error_uri="https://tools.ietf.org/html/rfc6750#section-3.1"
. 谷歌搜索后,一页说可能是客户 ID 错误,但我仔细检查了它并没有问题。我在“application.yml”文件中设置 Keycloak 客户端 ID,例如:
任何人都知道我还能如何调试这个?
这是虚拟服务。我知道它正在工作,因为 (1) 我可以转到 /api,它会将我带到 /api/,并且 (2) 我转到 /api/application-info,然后它让我登录到 Keycloak。
kubernetes - 当不同的 pod 无法启动时,AGIC 会删除正在工作的后端
部署概述
我们正在使用 Azure 网关入口控制器 (AGIC) 在应用网关上自动为 AKS 集群中的入口创建侦听器和后端
ArgoCD部署到 K8s 集群以创建应用程序。当 ArgoCD 创建一个应用程序时,它会从为我们的应用程序实例创建的 git 存储库中提取一个掌舵图,并创建该应用程序
该应用是通过对 Azure 存储文件文件夹的持久卷声明创建的,以存储用户数据。它还为应用程序获取一个带标签的入口,以便 AGIC 在应用程序网关中创建它。
当一切正常时,一切都很好。我可以在一个主机名上访问我的 argocd,并在其主机名上访问我部署的每个应用程序——所有这些都通过由 AGIC 维护的应用程序网关
问题描述
当我的一个 pod 无法启动(因为 PVC 使用的存储密钥不正确)时,AGIC 会更新应用程序网关以删除我的 argoCD 后端,该后端仍然可以正常工作。
AGIC删除了我正在工作的 ARGOCD 后端。
如果我删除失败的 pod,AGIC 会在应用网关上再次部署我的 ArgoCD HTTP 后端。
问题:
- 如何解决AGIC删除 ArgoCD 后端的原因?是否有我可以启用的日志来详细告诉我它是如何做出部署决策的?
- 我可以在 AKS 上做些什么来尝试将 ArgoCD 从 pod 中分离出来,以便 AGIC 在 pod 损坏时不会移除 ArgoCD 的后端?(它们已经部署在不同的命名空间中)
kubernetes - 错误没有匹配版本 keda.sh/v1alpha1 中的种类 ScaledObject
我正在尝试通过 ArgoCD 安装 KEDA。我收到以下错误。
规格:
KEDA 版本:2.0 Kubernetes 版本:1.18