You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OKD 4.15重建Argo命名空间后Pod无法连接API服务器

问题排查:OKD 4.15中重建ArgoCD命名空间后Pod无法连接API服务器

问题背景

误删除ArgoCD命名空间后手动重建,通过Helm重新部署ArgoCD,但Pod无法启动,日志显示连接API服务器(172.30.0.1:443)超时。经测试,仅该命名空间内的Pod无法连通API服务器,无自定义网络策略、使用的ServiceAccount与正常命名空间一致,确定问题出在网络层面。

Pod错误日志:

time="2025-01-14T14:46:08Z" level=info msg="ArgoCD ApplicationSet Controller is starting" built="2023-03-23T14:57:27Z" commit=5bcd846fa16e4b19d8f477de7da50ec0aef320e5 namespace=argocd version=v2.6.7+5bcd846
time="2025-01-14T14:46:38Z" level=error msg="Get \https://172.30.0.1:443/api?timeout=32s: dial tcp 172.30.0.1:443: i/o timeoutunable to start manager"

排查与解决步骤

1. 检查命名空间的CNI网络注解

OKD默认使用OVN-Kubernetes,手动重建的命名空间可能缺失默认网络关联注解。

  • 查看当前命名空间注解:
    oc describe namespace argocd
    
  • 对比正常命名空间,若缺失ovn.kubernetes.io/network: default等CNI相关注解,添加注解并重启Pod:
    oc annotate namespace argocd ovn.kubernetes.io/network=default
    oc delete pods -n argocd --all
    

2. 触发OVN网络配置同步

手动重建的命名空间可能未被OVN正确同步网络规则,强制触发同步:

oc patch namespace argocd -p '{"metadata":{"annotations":{"ovn.kubernetes.io/sync-time": "'$(date +%s)'"}}}'

之后再次测试API服务器连通性:

oc run -it --rm debug-pod --image=ubi8 --namespace=argocd -- curl -v https://172.30.0.1:443/api --insecure

3. 验证SecurityContextConstraints(SCC)权限

虽然ServiceAccount相同,但重建的命名空间可能未正确绑定SCC,导致Pod缺少网络访问权限:

  • 检查ArgoCD组件使用的ServiceAccount是否绑定了必要的SCC(如privileged或restricted):
    oc adm policy who-can use scc privileged -n argocd
    
  • 若权限缺失,为对应ServiceAccount添加SCC权限(示例为argocd-application-controller,需根据实际组件调整):
    oc adm policy add-scc-to-user privileged -z argocd-application-controller -n argocd
    

4. 完全重置命名空间(终极方案)

若以上步骤无效,备份ArgoCD配置后删除并重建命名空间:

  1. 备份Helm配置和ArgoCD数据:
    helm get values argocd -n argocd > argocd-values-backup.yaml
    oc export secrets -n argocd > argocd-secrets-backup.yaml
    
  2. 卸载Helm部署并删除命名空间:
    helm uninstall argocd -n argocd
    oc delete namespace argocd
    
  3. 重新创建命名空间并添加默认注解(参考正常命名空间的注解):
    oc create namespace argocd
    oc annotate namespace argocd openshift.io/sa.scc.mcs=s0:c25,c24 openshift.io/sa.scc.supplemental-groups=1000690000/10000 openshift.io/sa.scc.uid-range=1000690000/10000
    
  4. 重新部署ArgoCD:
    helm install argocd argo/argocd -n argocd -f argocd-values-backup.yaml
    

内容的提问来源于stack exchange,提问作者gipsy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 00:02:10