kubeadm 默认证书为一年,一年过期后,会导致api service不可用,使用过程中会出现:x509: certificate has expired or is not yet valid.
1、创建工作目录
2、下载go环境(搜索go 中文网既可下载)
3、设置环境变量
4、下载kubernetes源码(提前安装git)
5、切换当前集群的版本
6、修改kubeadm源码包更新策略
6.1、进入到下载的源码包目录下
1.14版本之前修改此目录内容
6.2、1.14版本至今修改此目录下内容
6.3、添加内容如下(注意前面空格处是tab键)
6.4、开始编译kubeadm
6.5、生成新的kube-config.yaml配置文件
6.6、生成新的证书,kube-config.yaml指定你刚生成的文件
6.7、备份原有的conf文件
6.8、根据新证书重新生成新的配置文件
6.9、替换老的config文件
6.10、将master1上编译出的kubeadm拷贝到master2和master3(先在2和3备份一下)
6.11、在master2和master3分别执行以下操作
7、在三台master上重启kube-apiserver,kube-controller,kube-scheduler,etcd这四个容器,并重启kubelet,使其生效
8、验证
9、批量验证证书
kubelet证书分为server和client两种, k8s 1.9默认启用了client证书的自动轮换,但server证书自动轮换需要用户开启
1、增加 kubelet 参数
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
2、增加 controller-manager 参数
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
3、创建 rbac 对象 创建rbac对象,允许节点轮换kubelet server证书
如果证书已经过期,如何进行重新签发证书 针对kubeadm 1.13.x 及以上处理 准备kubeadm.conf 配置文件一份
1、重新签发命令
2、更新/etc/kubernetes/*.conf文件
3、备份删除旧的/etc/kubernetes/*.conf文件
4、生成新的conf文件
5、完成后重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器,最后覆盖config文件
6、针对kubeadm 1.13.0(不包含1.13.0) 以下处理 移动证书和配置【注意!必须移动,不然会使用现有的证书,不会重新生成】
7、创建证书
8、生成新配置文件
9、将新生成的admin配置文件覆盖掉原本的admin文件
10、完成后重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/26346.html