在配置kubeadm集群证书及安全设置时,需关注以下核心要点:
- 证书管理:通过
kubeadm init
时指定--cert-dir
自定义证书路径,修改ClusterConfiguration
中certificatesDir
字段;建议替换默认1年有效期为--certificate-renewable=true
并定期执行kubeadm certs renew
。企业级环境应替换CA为私有根证书,通过--upload-certs
配合加密传输。 - API安全加固:在
apiServer
配置段强制关闭匿名访问(anonymous-auth: false
),启用Node限制准入控制器(enable-admission-plugins: NodeRestriction
),配置serviceAccount
颁发者(service-account-issuer
)及JWT密钥轮换策略。 - ETCD加密:在
etcd
配置中增加encryption-provider-config
指向AES/CBC或KMS加密描述文件,确保secret数据落盘加密。 - RBAC最小权限:初始化后立即删除
system:public-info-viewer
等宽松ClusterRole,严格绑定ServiceAccount权限。 - 配置示例片段:
apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration certificatesDir: /etc/kubernetes/pki apiServer: extraArgs: anonymous-auth: "false" service-account-issuer: https://kubernetes.default.svc service-account-jwks-uri: https://kubernetes.default.svc/openid/v1/jwks extraVolumes: - name: etc-kube-apiserver hostPath: /etc/kubernetes/pki mountPath: /etc/kubernetes/pki
实践建议:结合企业PKI体系预置CA可大幅降低运维复杂度,同时需建立证书过期监控机制,避免集群不可用。生产环境应通过HashiCorp Vault等工具实现证书自动化生命周期管理。