Kubernetes Master-Node 通信全解析:路径、安全与配置
Kubernetes Master-Node 通信全解析路径、安全与配置一、概述Kubernetes 集群的核心通信模型是控制平面Master与数据平面Node / 集群的双向交互所有通信均以kube-apiserver为中枢枢纽。本文聚焦 Master 与集群间的关键通信路径、安全配置及适配不受信任网络的解决方案帮助用户实现自定义安装与网络增强。核心设计目标明确通信流向与终止点简化集群网络架构提供安全加固方案支持在不可信网络如公网中运行适配不同部署场景裸机 / 云环境的通信需求。二、Cluster - Master集群到控制平面所有从集群Node、Pod到 Master 的通信均终止于kube-apiserver集群唯一 API 入口通信流程与安全配置如下1. 通信入口与协议kube-apiserver监听远程连接的HTTPS 443 端口生产环境推荐所有请求需通过 TLS 加密传输禁止暴露非加密端口默认仅监听 Master 本地 localhost 接口避免未授权访问。2. 身份认证机制需启用至少一种客户端认证方式确保通信安全Node 节点认证Node 需配置集群公共根证书通过证书验证后连接 apiserverPod 访问认证Pod 通过Service Account自动获取根证书和有效bearer tokenKubernetes 实例化时注入无需手动配置内部组件通信Master 自身组件如 kube-controller-manager、kube-scheduler通过本地非加密端口与 apiserver 通信仅本地可达无安全风险。3. 网络路由集群内所有 Namespace 均存在默认 Kubernetes Service通过虚拟 IP 地址由 kube-proxy 转发路由到 apiserver 的 HTTPS 端口Pod 可直接通过该 Service 访问 Master。三、Master - Cluster控制平面到集群Master 到集群的通信主要通过两条路径核心是apiserver向 Node、Pod、Service 下发指令或获取状态需重点关注安全加固3.1 apiserver - kubelet通信用途获取 Pod 日志、执行kubectl exec命令、端口转发port-forward等操作通信协议连接终止于 kubelet 的 HTTPS 终端默认未验证 kubelet 服务证书存在安全风险安全加固方案为 apiserver 配置--kubelet-certificate-authority参数提供根证书包验证 kubelet 证书启用 kubelet 认证 / 授权机制如 RBAC限制 apiserver 访问权限无法配置证书时使用 SSH 隧道保障通信安全。3.2 apiserver - nodes、pods、services通信用途通过 apiserver 代理功能访问集群内节点、Pod 或 Service默认特性默认使用HTTP 协议无认证加密仅适用于可信网络支持 HTTPS 连接但不验证服务端证书、不提供客户端凭据仅加密传输无完整性保障使用限制该路径禁止在不可信网络如公网中使用需依赖私有网络或隧道技术隔离。3.3 SSH TunnelsSSH 隧道核心作用保护 Master - 集群的通信路径避免流量暴露在集群外部适配不可信网络环境典型场景Google Container EngineGKE默认使用 SSH 隧道加固该通信路径原理通过 SSH 建立 Master 与 Node 间的加密隧道所有 Master 到集群的流量均通过隧道传输避免明文暴露。四、核心安全最佳实践强制 TLS 加密集群与 Master 间所有跨节点通信均启用 HTTPS禁用 HTTP 明文协议证书全链路验证配置 apiserver 验证 kubelet 证书、Node/Pod 验证 apiserver 证书实现双向认证最小权限原则为 kubelet、Pod 配置最小权限的 Service Account 和 RBAC 规则限制访问范围隔离不可信网络Master 与集群若跨公网通信必须使用 SSH 隧道、VPN 或专用网络禁止直接暴露通信端口禁用匿名访问apiserver 禁用anonymous-authtrue默认关闭避免未授权请求。五、通信流程总结通信方向核心路径协议安全关键配置Cluster - MasterNode/Pod → apiserverHTTPS 443根证书配置、Service Account 认证Master - Clusterapiserver → kubeletHTTPS–kubelet-certificate-authority、SSH 隧道Master - Clusterapiserver → Node/Pod/ServiceHTTP/HTTPS仅可信网络使用HTTPS 无完整验证