0

部署概述

我们正在使用 Azure 网关入口控制器 (AGIC) 在应用网关上自动为 AKS 集群中的入口创建侦听器和后端

ArgoCD部署到 K8s 集群以创建应用程序。当 ArgoCD 创建一个应用程序时,它会从为我们的应用程序实例创建的 git 存储库中提取一个掌舵图,并创建该应用程序

该应用是通过对 Azure 存储文件文件夹的持久卷声明创建的,以存储用户数据。它还为应用程序获取一个带标签的入口,以便 AGIC 在应用程序网关中创建它。

当一切正常时,一切都很好。我可以在一个主机名上访问我的 argocd,并在其主机名上访问我部署的每个应用程序——所有这些都通过由 AGIC 维护的应用程序网关

问题描述

当我的一个 pod 无法启动(因为 PVC 使用的存储密钥不正确)时,AGIC 会更新应用程序网关以删除我的 argoCD 后端,该后端仍然可以正常工作。

AGIC删除了我正在工作的 ARGOCD 后端。

如果我删除失败的 pod,AGIC 会在应用网关上再次部署我的 ArgoCD HTTP 后端。

问题:

  1. 如何解决AGIC删除 ArgoCD 后端的原因?是否有我可以启用的日志来详细告诉我它是如何做出部署决策的?
  2. 我可以在 AKS 上做些什么来尝试将 ArgoCD 从 pod 中分离出来,以便 AGIC 在 pod 损坏时不会移除 ArgoCD 的后端?(它们已经部署在不同的命名空间中)
4

1 回答 1

0

AGIC 中似乎存在一个错误,当某些后端已解决而有些未解决时,一旦列表中的第一个后端未解决,则不会创建其余后端。

我在 Github 中记录了以下问题以修复它:https ://github.com/Azure/application-gateway-kubernetes-ingress/issues/1054

我通过将 AGIC 的日志记录参数设置为级别 5、查看日志并将日志消息与该存储库中的 AGIC 源代码匹配来发现这一点。

于 2020-11-10T14:24:52.087 回答