当前位置: 首页 > wzjs >正文

东旭网站建设全国人大常委会委员长

东旭网站建设,全国人大常委会委员长,自制游戏软件,一个企业为什么要建设网站kubeadm拉起的k8s集群证书过期的做法 这个是很久之前遇到的了,今天有空(心血来潮)就都回忆回忆写在这里为爱发光,部分内容来自arch先生(死党)的帮助。有时候有很多部门提了建k8s的需求,有些是临…

kubeadm拉起的k8s集群证书过期的做法

  • 这个是很久之前遇到的了,今天有空(心血来潮)就都回忆回忆写在这里为爱发光,部分内容来自arch先生(死党)的帮助。
    • 有时候有很多部门提了建k8s的需求,有些是临时的,有些没有说具体用多久,但是某天,他们和你说集群坏了,这时候你上去一看证书过期了,这里又有两种情况我们分别说明:
      • 集群还活着
      • 集群已归西
        • 1、备份数据
        • 2、报错内容及分析
        • 3、生成证书
        • 4、证书内容合并
        • 5、证书替换
        • 6、证书生效

这个是很久之前遇到的了,今天有空(心血来潮)就都回忆回忆写在这里为爱发光,部分内容来自arch先生(死党)的帮助。

有时候有很多部门提了建k8s的需求,有些是临时的,有些没有说具体用多久,但是某天,他们和你说集群坏了,这时候你上去一看证书过期了,这里又有两种情况我们分别说明:

集群还活着
集群已归西(麻烦事儿)

集群还活着

#查看证书过期时间
kubeadm certs check-expiration#如果过期就更新
kubeadm certs renew all#更新完证书再次查看
kubeadm certs check-expiration#更新完证书后还需要重启api-server,controller-manager,scheduler,etcd#看看有没有这个文件
ll /etc/crictl.yaml#没有就主动生成
echo "runtime-endpoint: unix:///run/containerd/containerd.sock" \|  tee /etc/crictl.yamlcontainerd执行脚本更新相关服务
pods="crictl pods --namespace kube-system --state READY"
for component in  kube-apiserver kube-controller-manager kube-scheduler etcd; doecho "> `date +%DT%T` Restart $component"$pods | grep "$component" | awk '{print "crictl stopp "$1 | "sh"}'sleep 5echo "---------------------------------------"
done

使用kubectl获取集群资源看是否正常。

集群已归西

此时集群无法连接、无法管理,甚至无法启动

1、备份数据
mkdir ~/recoverysudo rsync -av /etc/kubernetes/ ~/recovery/etc-kubernetes/sudo rsync -av /var/lib/etcd/ ~/recovery/var-lib-etcd/sudo rsync -av /var/lib/kubelet/ ~/recovery/var-lib-kubelet/
2、报错内容及分析
journalctl -u kubelet.service
kubelet[2447]: E0923 bootstrap.go:265]  part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: xxxxxxxxx

显而易见,kubelet 使用的证书过期了

查看 /etc/kubernetes/kubelet.conf 内容,看它使用的证书文件路径

users:
- name: system:node:xxxxuser:client-certificate: /var/lib/kubelet/pki/kubelet-client-current.pemclient-key: /var/lib/kubelet/pki/kubelet-client-current.pem

接着进入 /var/lib/kubelet/pki kubelet 的证书、私钥都在这里,而且还有一个 kubelet.conf 引用的 pem 文件

.crt + .key = .pem

接着解析 kubelet.crt 内容

openssl x509 -in kubelet/pki/kubelet.crt -noout -textCertificate:Signature Algorithm: sha256WithRSAEncryptionIssuer: CN=kubernetesValidityNot Before: Jan  6 15:53:54 2022 GMTNot After : Jan  6 15:53:54 2023 GMTSubject: O=system:nodes, CN=system:node:vm-m1Subject Public Key Info:Public Key Algorithm: rsaEncryptionX509v3 extensions:X509v3 Subject Alternative Name:DNS:vm-m1主机名是 vm-m1,被 CN 和 DNS 用到Subject 格式 O=system:nodes, CN=system:node:${主机名}
DNS 格式 ${主机名}
3、生成证书

由于过期的是 kubelet 使用的证书,而 ca 没过期,因此基于已有 ca 生成证书

node_name=vm-m1

#生成 EC 私钥 (P-256 椭圆曲线)
openssl ecparam -genkey -name prime256v1 -noout -out kubelet.key#创建证书签署请求 (CSR)
openssl req -new -key kubelet.key -out kubelet.csr -subj "/O=system:nodes/CN=system:node:${node_name}"#引用已有 ca,生成 crt 证书
openssl x509 -req -in kubelet.csr \-CA /etc/kubernetes/pki/ca.crt \-CAkey /etc/kubernetes/pki/ca.key \-CAcreateserial \-out kubelet.crt \-days 365 \-extensions v3_req \-extfile <(cat <<EOF
[ v3_req ]
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
subjectAltName = @alt_names[ alt_names ]
DNS.1 = ${node_name}
EOF
)
4、证书内容合并

date_time= ( d a t e + c a t k u b e l e t . c r t > k u b e l e t − c l i e n t − (date +%F-%H-%M-%S) cat kubelet.crt > kubelet-client- (date+catkubelet.crt>kubeletclient{date_time}.pem
cat kubelet.key >> kubelet-client-${date_time}.pem

5、证书替换
systemctl stop kubelet.servicecp -vf kubelet.crt kubelet.key /var/lib/kubelet/pki/cd /var/lib/kubelet/pki/ln -sf /var/lib/kubelet/pki/kubelet-client-${date_time}.pem kubelet-client-current.pem systemctl start kubelet.service
6、证书生效

当然这个场景下也得同步更新其他组件的证书

kubeadm certs renew all

接着刷新各个组件使用的证书,更建议直接 reboot 刷新

http://www.dtcms.com/wzjs/275618.html

相关文章:

  • 医院网站建设方案书百度官方客户端
  • 南昌网站设计制作手机app推广平台
  • 宝鸡做宝鸡做网站网站cpm广告联盟平台
  • 成都微信网站制作龙岗百度快速排名
  • 电子网站风格设计seo站内优化教程
  • 课程资源网站开发正规淘宝代运营去哪里找
  • 搭建本地网站做色流如何自己做网站
  • 如何做企业网站及费用问题网站优化团队
  • 网站开发感想微信推广软件
  • 阿里云模板建站好不好147seo工具
  • 企业网站设计意义网络营销
  • wordpress移动端页面模板下载地址seo关键词排名优化如何
  • 专门做外贸网站有哪些免费创建网站
  • 领导不愿意做招聘网站怎么办优化大师怎么强力卸载
  • 3g医院网站模板百度刷搜索词
  • 产品做网站天津seo博客
  • 做网站首页微信crm
  • wordpress dedecms成都seo整站
  • 网站怎么做排名呢无屏蔽搜索引擎
  • 福田做网站价格怎样做好销售和客户交流
  • 北京网站建设icp有限公司推广普通话黑板报
  • 青岛公司网站建设公司2022世界足球排行榜
  • bc网站如何建设品牌营销策略有哪些
  • 网站建设方案对比分析百度指数教程
  • python做网站项目北京seoqq群
  • dz网站首页html代码在哪东莞网络推广营销
  • 没有网站如何做cpa推广河南网站推广公司
  • 东莞找网站设计高端网站建设公司排名
  • 东莞网站建设公司企业win7优化大师好不好
  • 新房装修设计南昌seo推广公司