如何通过ArgoCD CLI正确部署应用?部署后无显示问题求助
问题分析与解决方法
核心原因
ArgoCD默认仅监视argocd命名空间下的Application自定义资源;同时若配置中指定的项目不存在,也会导致控制器无法识别并处理该应用。
排查步骤
- 确认当前
Application所在的命名空间:
kubectl get application hashicorp-vault -o jsonpath='{.metadata.namespace}'
- 检查指定的
infra项目是否存在:
argocd proj list
解决方案
方案1:将Application部署到argocd命名空间
修改你的application.yml,在metadata下添加namespace: argocd字段:
apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: hashicorp-vault namespace: argocd # 新增该行,指定ArgoCD默认监听的命名空间 finalizers: - resources-finalizer.argocd.argoproj.io spec: project: infra source: repoURL: "https://helm.releases.hashicorp.com" targetRevision: 0.23.0 helm: values: | ui: enabled: true injector: enabled: false server: resources: requests: memory: 512Mi cpu: 250m limits: memory: 512Mi cpu: 250m chart: vault destination: server: "https://kubernetes.default.svc" namespace: vault syncPolicy: automated: prune: true selfHeal: true
重新执行部署:
kubectl apply -f application.yml
方案2:配置ArgoCD监视指定/所有命名空间
若需要在非argocd命名空间管理Application,修改ArgoCD的配置映射:
kubectl edit configmap argocd-cm -n argocd
在data段添加或修改application.namespaces配置:
data: # 监视所有命名空间用"*",指定多个命名空间用逗号分隔,如"vault,default" application.namespaces: "*"
修改后重启ArgoCD应用控制器:
kubectl rollout restart deployment argocd-application-controller -n argocd
补充:确保infra项目存在
若排查发现infra项目不存在,通过CLI创建:
argocd proj create infra
或在ArgoCD UI中创建该项目。
内容的提问来源于stack exchange,提问作者Denis Arslanbekov
相关产品推荐
相关产品推荐

