首页/云/Kubernetes 速查/default 命名空间的 kubernetes 服务
网络与服务55 条

default 命名空间的 kubernetes 服务

每个集群都有 default/kubernetes 这个 Service,指向 API Server;Pod 内通过它或 KUBERNETES_SERVICE_HOST 访问集群 API。

Kubernetes 速查云更新于 2026-10-13

集群里那个固定的服务

每个集群都会在 default 命名空间创建名为 kubernetes 的 Service,它指向集群的 API Server。Pod 内部既可以通过这个服务名访问接口,也可以从环境变量里读到地址与端口。这个对象由集群自动维护,不是用户创建的,删除后系统会重新建立。

基本信息

对象位置default 命名空间的 kubernetes 服务
作用把 API Server 暴露为集群内可访问的服务
注入内容服务地址环境变量、凭据与集群证书文件
访问协议HTTPS,配合集群内部域名使用
权限依据Pod 所用服务账号绑定的角色

典型使用场景

  • 应用需要在集群内读写其他资源,例如自制控制器与发布工具
  • 在容器里快速确认当前集群的接口是否可达
  • 排查应用报错无法连接接口:先确认域名解析与网络策略
  • 验证服务账号权限:用同一身份调用接口观察返回状态码
  • 编写自愈脚本或告警脚本时,从环境变量读取地址而不写死

查看与验证

查看与验证
kubectl get svc kubernetes -n default -o wide      # 服务地址与端口
kubectl get endpoints kubernetes -n default          # 后端地址是否正常
kubectl exec -it web-x -- env | grep KUBERNETES_SERVICE   # 容器内注入的地址
exec -it web-x -- sh -c 'ls /var/run/secrets/kubernetes.io/serviceaccount/'   # 凭据文件
kubectl exec -it web-x -- curl -sk https://kubernetes.default.svc/version     # 实际调用

Pod 内访问三要素

项目位置说明
服务地址环境变量中的主机与端口由节点代理注入,随服务变化
凭据与证书服务账号挂载目录应用用它完成身份认证
身份权限服务账号绑定的角色能否调用取决于授权结果
网络路径集群网络与网络策略出口被全拒时需要显式放行
应用应当通过服务名访问接口,而不是记录具体地址。地址由集群分配,集群重建或服务重建后可能变化,写死会造成难以定位的失效。
给容器绑定高权限的服务账号,意味着容器内的任何进程都能操作集群。只有确实需要调用接口的应用才应绑定相应权限。

易错点

  • 在代码里硬编码服务地址:集群或服务重建后地址变化,应用直接失效
  • 给业务容器绑定管理级权限:容器被入侵等同于集群被接管
  • 忽略网络策略:出口全拒时解析正常但连接不通,容易被误判为服务端故障
  • 把它当成外部可访问的地址:该服务只在集群网络内可见,集群外无法直连

数据来源与参考

  • Kubernetes 官方文档 · Accessing the API from a Pod
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌