10257 是什么
10257 是 kube-controller-manager 的安全端口(HTTPS),用于暴露健康状态、指标与 Leader 选举相关信息。控制面三件套建议成组记忆:API Server 6443、controller-manager 10257、scheduler 10259;它们对应的不安全 HTTP 端口(10252 与 10251)自 Kubernetes 1.23 起已被移除。审计与防火墙基线里,这几个端口都不应出控制面网段。
基本信息
| 服务 | kube-controller-manager secure(10257) |
|---|---|
| 协议 | TCP/HTTPS |
| 用途 | 健康检查与指标(需认证) |
| 配套端口 | 6443(API Server)、10259(scheduler) |
| 已移除 | 10252(历史不安全端口) |
| 安全等级 | 仅控制面内网 |
典型使用场景
- 控制面巡检:确认各组件健康与 Leader 状态
- Leader 选举排障:控制面组件高可用异常时定位
- 指标采集:纳入集群自身监控体系
- 安全基线:核对控制面端口的暴露范围
- 证书管理:组件间证书与 CA 的到期巡检
- 版本升级:升级前后的端口与参数差异核对
控制面端口对照
| 端口 | 组件 | 说明 |
|---|---|---|
| 6443 | kube-apiserver | 集群统一入口(HTTPS) |
| 10257 | kube-controller-manager | 健康与指标(HTTPS) |
| 10259 | kube-scheduler | 健康与指标(HTTPS) |
| 10251/10252 | 历史不安全端口 | 1.23 起已移除 |
控制面核对
控制面核对
curl -sk https://cp01:10257/healthz | head -c 100 # 健康检查
kubectl -n kube-system get pod kube-controller-manager-cp01 -o yaml \
| grep -A3 'secure-port'
kubectl -n kube-system logs kube-controller-manager-cp01 --tail=30 | head -20
# 证书: kubeadm 部署可用 kubeadm certs check-expiration 统一核对控制面端口默认要求客户端证书认证:排障时带上正确的证书链或直接看组件日志,比反复尝试无凭证请求更省时间。
自建集群的证书过期会先表现为控制面组件互相不信任:现象杂乱但根因统一,到期前把证书巡检纳入例行任务。
高可用部署中只有一个实例在承担 Leader 职责:其他实例日志安静属正常现象,不要误判为组件故障。
组件参数变更需要重启对应静态 Pod 才生效:改配置不重启是常见的假变更,验证时要看实际生效值。
控制面排障建议按组件分层:先确认入口可用,再看各控制器与调度器状态,最后才怀疑业务配置,顺序清晰能省下大量时间。
集群变更前记录一份控制面组件参数基线:出问题时与基线对比,比凭记忆判断快很多。