kubeasz/docs/op/force_ch_certs.md

33 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 强制更新CA和所有证书
- WARNNING: 此命令使用需要小心谨慎确保了解功能背景和可能的结果执行后它会重新创建集群CA证书以及由它颁发的所有其他证书一般适合于集群admin.conf不小心泄露为了避免集群被非法访问重新创建CA从而使已泄漏的admin.conf失效。
- 如果需要分发受限的kubeconfig强烈建议使用[自定义权限和期限的kubeconfig](kcfg-adm.md)
## 使用帮助
确认需要强制更新后在ansible 控制节点使用如下命令:(xxx 表示需要操作的集群名)
``` bash
docker exec -it kubeasz ezctl kca-renew xxx
# 或者使用 dk ezctl kca-renew xxx
```
上述命令执行后,按序进行以下的操作:详见`playbooks/96.update-certs.yml`
- 重新生成CA证书以及各种kubeconfig
- 签发新etcd证书并使用新证书重启etcd服务
- 签发新kube-apiserver 证书并重启kube-apiserver/kube-controller-manager/kube-scheduler 服务
- 签发新kubelet 证书并重启kubelet/kube-proxy 服务
- 重启网络组件pod
- 重启其他集群组件pod
- **特别注意:** 如果集群中运行的业务负载pod需要访问apiserver需要重启这些pod
## 检查验证
更新完毕注意检查集群组件日志和容器pod日志确认集群处于正常状态
- 集群组件日志使用journalctl -u xxxx.service -f 依次检查 etcd.service/kube-apiserver.service/kube-controller-manager.service/kube-scheduler.service/kubelet.service/kube-proxy.service
- 容器pod日志使用 kubectl logs 方式检查容器日志