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

Kubernetes 1.24+手动创建ServiceAccount Secret后无法查询求助

排查Kubernetes 1.24+手动创建ServiceAccount Secret后无法找到的问题

核心排查步骤:

  • 全命名空间排查Secret
    先确认cicd-secret是否存在于任何命名空间中:

    kubectl get secrets --all-namespaces
    
  • 检查当前上下文的命名空间
    你创建Secret的YAML未指定命名空间,Kubernetes会默认使用当前上下文的命名空间。执行以下命令查看当前上下文的默认命名空间:

    kubectl config view --minify --output 'jsonpath={..namespace}'
    
  • 查看集群事件日志
    若创建命令提示成功但Secret不存在,检查事件日志找异常:

    kubectl get events --all-namespaces | grep -i secret
    

    或聚焦weatherdispatch命名空间:

    kubectl get events -n weatherdispatch | grep -i secret
    
  • 确保ServiceAccount与Secret同命名空间
    你的cicd ServiceAccount在weatherdispatch命名空间,创建Secret时必须指定相同命名空间才能关联。修改创建脚本:

    kubectl apply -f - <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      name: cicd-secret
      namespace: weatherdispatch
      annotations:
        kubernetes.io/service-account.name: cicd
    type: kubernetes.io/service-account-token
    EOF
    

    执行后再次在weatherdispatch命名空间查询Secret:

    kubectl get secrets -n weatherdispatch
    
  • 检查准入控制器或清理策略
    部分集群可能配置了OPA Gatekeeper、PodSecurityPolicy等准入控制器,或定时清理任务,会删除未关联的ServiceAccount Secret。可联系集群管理员确认相关配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:57:27