Kubernetes kubeadm 中如何正确配置 Kubelet 的 serverTLSBootstrap 参数
在 Kubernetes 集群管理中,kubelet 组件的证书管理是一个关键的安全配置环节。当我们需要为 kubelet 启用服务端证书自动轮换功能时,serverTLSBootstrap 参数的配置就显得尤为重要。
配置背景
serverTLSBootstrap 参数控制着 kubelet 服务端证书的自动引导机制。当设置为 true 时,kubelet 会通过 certificates.k8s.io API 自动请求服务端证书。这对于提升集群安全性、实现证书自动轮换非常有用。
正确配置方法
在 kubeadm 管理的集群中,我们需要通过修改 kubelet 的 ConfigMap 来启用此功能。正确的配置格式如下:
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
serverTLSBootstrap: true
...
这个配置需要放置在 kube-system 命名空间下的 kubelet-config ConfigMap 的 data.kubelet 字段中。注意这是一个完整的 KubeletConfiguration 结构,serverTLSBootstrap 是其中的一个顶级字段,而不是 kind 字段的子属性。
实际操作步骤
- 获取当前的 kubelet 配置:
kubectl -n kube-system get configmap kubelet-config -o yaml
-
编辑配置,在 KubeletConfiguration 结构体顶层添加 serverTLSBootstrap: true 字段
-
应用修改后的配置:
kubectl apply -f modified-kubelet-config.yaml
-
在每个节点上,还需要修改 /var/lib/kubelet/config.yaml 文件,添加相同的配置
-
重启 kubelet 服务使配置生效:
systemctl restart kubelet
注意事项
启用此功能后,kubelet 生成的证书签名请求(CSR)默认不会被自动批准。管理员需要手动批准这些 CSR,或者部署专门的控制器来自动处理。这是 Kubernetes 出于安全考虑的设计,确保服务端证书的签发过程受到严格控制。
对于生产环境,建议在启用此功能前充分测试,并确保有完善的证书管理流程。同时要注意,不同 Kubernetes 版本可能在配置细节上略有差异,建议查阅对应版本的官方文档确认具体参数格式。
通过正确配置 serverTLSBootstrap 参数,我们可以实现 kubelet 服务端证书的自动化管理,既提升了安全性,又减少了人工维护的工作量。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00