我正在尝试为 gitops 设置 ArgoCD。我使用 ArgoCD Helm Chart 将其部署到本地 Docker Desktop Kubernetes 集群。我正在尝试使用 ArgoCD 的应用程序模式。
问题是,当我应用 yaml 来创建根应用程序时,没有任何反应。 这是 yaml(由我的公共存储库
helm template apps/ -n argocd
中的命令 https://github.com/gajewa/gitops
创建):
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: root
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
destination:
server: http://kubernetes.default.svc
namespace: argocd
project: default
source:
path: apps/
repoURL: https://github.com/gajewa/gitops.git
targetRevision: HEAD
syncPolicy:
automated:
prune: true
selfHeal: true
资源已创建,但 Argo UI 中实际上没有发生任何事情。没有可见的应用程序。因此,我尝试通过 Web UI 创建应用程序,甚至将 yaml 粘贴到其中。该应用程序是在 Web ui 中创建的,它似乎与 prometheus 和 argo 的 yaml 模板同步并查看存储库,但它实际上并未在 ArgoCD 中创建 prometheus 应用程序。根应用程序的普罗米修斯部分永远在进步。
以下是一些截图: 带有根应用程序的主页(其中 argo-cd 和 prometheus 应该可见,但实际上不可见): 然后是根应用程序视图,其中为每个模板创建了一些内容,但 Argo 似乎无法从中创建 kubernetes 部署/pod 等:
我想也许 CRD 定义不存在于 k8s 集群中,但我检查了一下,它们就在那里:
λ kubectl get crd
NAME CREATED AT
applications.argoproj.io 2021-10-30T16:27:07Z
appprojects.argoproj.io 2021-10-30T16:27:07Z
我已经没有办法检查应用程序为何未实际部署。我正在阅读本教程:https://www.arthurkoziel.com/setting-up-argocd-with-helm/
问题是您必须在元数据的清单文件中使用以下代码:
请将命名空间更改为您在该命名空间中部署的 argocd 的名称。 (默认为 argocd)
metadata:
namespace: argocd
来自另一篇SO帖子: https://stackoverflow.com/a/70276193/13641680
事实证明,目前 ArgoCD 只能识别在 ArgoCD 命名空间中进行的应用程序声明,
相关GitHub问题
嗨,我使用以下命令使用硬刷新解决了这个问题
argocd app get test --hard-refresh