k8s更新证书

root@k8s-master01 \~\]# sudo kubeadm certs renew all \[renew\] Reading configuration from the cluster... \[renew\] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml' certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed certificate for serving the Kubernetes API renewed certificate the apiserver uses to access etcd renewed certificate for the API server to connect to kubelet renewed certificate embedded in the kubeconfig file for the controller manager to use renewed certificate for liveness probes to healthcheck etcd renewed certificate for etcd nodes to communicate with each other renewed certificate for serving etcd renewed certificate for the front proxy client renewed certificate embedded in the kubeconfig file for the scheduler manager to use renewed certificate embedded in the kubeconfig file for the super-admin renewed Done renewing certificates. You must restart the kube-apiserver, kube-controller-manager, kube-scheduler and etcd, so that they can use the new certificates. \[root@k8s-master01 \~\]# 好的,根据提示,你已经成功更新了证书,接下来你需要重启相关的控制平面组件,以便它们加载并使用新的证书。这些组件通常作为静态 Pod (static pods) 运行在你的主节点上,由 `kubelet`直接管理。 **接下来的操作步骤:** 1. **重启 `kubelet` 服务:** 在你的主节点 (`k8s-master01`) 上,执行以下命令来重启 `kubelet` 服务。重启 `kubelet` 会使其重新启动由它管理的静态 Pod(包括 `kube-apiserver`, `kube-controller-manager`, `kube-scheduler` 和 `etcd`)。 ```bash sudo systemctl restart kubelet ``` * **如果你有多个主节点 (HA 集群):** 你需要在**每一个主节点** 上都执行 `sudo systemctl restart kubelet` 命令。 2. **验证组件是否已重启并正常运行:** 等待一两分钟,让组件有时间重新启动。然后进行检查: * **检查静态 Pod 的状态:** ```bash kubectl get pods -n kube-system ``` 查看 `kube-apiserver-k8s-master01`, `kube-controller-manager-k8s-master01`, `kube-scheduler-k8s-master01` 和 `etcd-k8s-master01` (Pod 名称中的主机名部分可能与你的节点名一致) 是否处于 `Running` 状态,并注意它们的 `AGE` 是否比较新,表明它们是最近重启的。 * **检查组件日志 (可选,用于排错):** 如果某个 Pod 没有正常启动,你可以查看它的日志: ```bash kubectl logs -n kube-system # 例如: # kubectl logs kube-apiserver-k8s-master01 -n kube-system ``` * **检查集群状态:** ```bash kubectl cluster-info kubectl get nodes ``` 确保集群API可访问,节点状态正常。 * **(重要) 再次检查证书过期时间:** 如果之前使用了 `kubeadm certs check-expiration`,可以再次运行它来确认新的证书生效并且过期时间已更新: ```bash sudo kubeadm certs check-expiration ``` 3. **更新你的 `kubectl` 配置文件 (如果需要):** 证书更新过程通常也会更新 `/etc/kubernetes/admin.conf` 文件。为了让你本地的 `kubectl` 能够使用新的凭证与集群通信,你需要将更新后的 `admin.conf` 复制到你的 `~/.kube/config`: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 执行完这个操作后,你可能需要退出当前 shell 会话再重新登录,或者新开一个终端,以确保新的 `kubectl` 配置生效。 **总结一下关键步骤:** * 在所有主节点上:`sudo systemctl restart kubelet` * 等待片刻,然后使用 `kubectl get pods -n kube-system` 和 `sudo kubeadm certs check-expiration` 进行验证。 * 更新你本地的 `~/.kube/config`。 操作时请务必小心,尤其是在生产环境中。如果在重启过程中遇到问题,请检查相关组件的日志以获取更详细的错误信息。

相关推荐
不开心就吐槽1 小时前
docker-compose方式快速安装MySQL
运维·docker·容器
芥子沫2 小时前
Docker安装思源笔记&使用指南
笔记·docker·容器·思源笔记
行思理2 小时前
macos 下 docker使用方法 新手教程
macos·docker·容器
团儿.2 小时前
Docker Swarm:打造高效、可扩展的容器编排引擎,引领微服务新纪元(上)
docker·微服务·容器·docker-swarm集群
small_white_robot2 小时前
vulnerable_docker_containement 靶机
运维·网络·web安全·网络安全·docker·容器
橙色云-智橙协同研发3 小时前
PLM实施专家宝典:离散制造企业工程变更的“流程金融”方案
云原生·解决方案·plm·国产plm·产品服务·工程方案·工程变更
丈剑走天涯5 小时前
kubernetes 源码编译(ubuntu) kubernetes-1.34.1
java·容器·kubernetes·1024程序员节
..Move...5 小时前
基于VMware和Cent OS的Docker Engine安装与配置
运维·docker·容器
信仰_2739932435 小时前
Eureka 多层缓存机制详解
缓存·云原生·eureka
路漫漫其修远兮sjw5 小时前
常用docker命令速查表
运维·docker·容器·模型部署