博客
关于我
Kubernetes 证书有效期更改
阅读量:634 次
发布时间:2019-03-14

本文共 4081 字,大约阅读时间需要 13 分钟。

Kubernetes相关证书详细介绍:

在更新证书之前先查看一下当前证书的过期时间

[root@k8s-master01 ~]# kubeadm alpha certs check-expirationCERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGEDadmin.conf                 Feb 20, 2022 05:57 UTC   363d            no      apiserver                  Feb 20, 2022 05:57 UTC   363d            no      apiserver-etcd-client      Feb 20, 2022 05:57 UTC   363d            no      apiserver-kubelet-client   Feb 20, 2022 05:57 UTC   363d            no      controller-manager.conf    Feb 20, 2022 05:57 UTC   363d            no      etcd-healthcheck-client    Feb 20, 2022 05:57 UTC   363d            no      etcd-peer                  Feb 20, 2022 05:57 UTC   363d            no      etcd-server                Feb 20, 2022 05:57 UTC   363d            no      front-proxy-client         Feb 20, 2022 05:57 UTC   363d            no      scheduler.conf             Feb 20, 2022 05:57 UTC   363d            no

Go环境部署:

[root@k8s-master01 ~]# wget https://dl.google.com/go/go1.15.6.linux-amd64.tar.gz[root@k8s-master01 ~]# tar -zxvf go1.15.6.linux-amd64.tar.gz -C /usr/local[root@k8s-master01 ~]# vim /etc/profile添加:    export PATH=$PATH:/usr/local/go/bin[root@k8s-master01 ~]# source /etc/profile

下载Kubernetes源码

[root@k8s-master01 ~]# cd /home && git clone https://github.com/kubernetes/kubernetes.git[root@k8s-master01 ~]# git clone -b 1.15.1 --depth=1 https://github.com/kubernetes/kubernetes.git	#  下载执行版本[root@k8s-master01 home]# git checkout -b remotes/origin/release-1.15.1 v1.15.1	# 切换当前Kubernetes 版本

修改 Kubeadm 源码包更新证书策略

[root@k8s-master01 home]# vim staging/src/k8s.io/client-go/util/cert/cert.go  # kubeadm 1.14 版本之前[root@k8s-master01 home]# vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go # kubeadm 1.14 至今	const duration365d = time.Hour * 24 * 365	NotAfter:     time.Now().Add(duration365d).UTC(),[root@k8s-master01 home]# makeWHAT=cmd/kubeadm GOFLAGS=-v[root@k8s-master01 home]# cp _output/bin/kubeadm /root/kubeadm-new

更新 kubeadm

# 将 kubeadm 进行替换[root@k8s-master01 home]# cp /usr/bin/kubeadm /usr/bin/kubeadm.old[root@k8s-master01 home]# cp /root/kubeadm-new /usr/bin/kubeadm[root@k8s-master01 home]# chmod a+x /usr/bin/kubeadm

更新各节点证书至 Master 节点

[root@k8s-master01 home]# cp-r /etc/kubernetes/pki /etc/kubernetes/pki.old[root@k8s-master01 home]# cd /etc/kubernetes/pki[root@k8s-master01 pki]# kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml[root@k8s-master01 pki]# openssl x509 -in apiserver.crt -text-noout | grep Not

HA集群其余 mater 节点证书更新

#!/bin/bashmasterNode="192.168.66.20 192.168.66.21"# for host in ${masterNode}; do#    scp /etc/kubernetes/pki/{ca.crt,ca.key,sa.key,sa.pub,front-proxy-ca.crt,front-proxy-ca.key}"${USER}"@$host:/etc/kubernetes/pki/#    scp /etc/kubernetes/pki/etcd/{ca.crt,ca.key} "root"@$host:/etc/kubernetes/pki/etcd#    scp /etc/kubernetes/admin.conf "root"@$host:/etc/kubernetes/#donefor host in${CONTROL_PLANE_IPS}; do    scp /etc/kubernetes/pki/{ca.crt,ca.key,sa.key,sa.pub,front-proxy-ca.crt,front-proxy-ca.key}"${USER}"@$host:/root/pki/    scp /etc/kubernetes/pki/etcd/{ca.crt,ca.key} "root"@$host:/root/etcd    scp /etc/kubernetes/admin.conf "root"@$host:/root/kubernetes/done

再次再看证书过期时间

[root@k8s-master01 ~]# kubeadm alpha certs check-expirationCERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGEDadmin.conf                 Feb 20, 2032 05:57 UTC   363d            no      apiserver                  Feb 20, 2032 05:57 UTC   363d            no      apiserver-etcd-client      Feb 20, 2032 05:57 UTC   363d            no      apiserver-kubelet-client   Feb 20, 2032 05:57 UTC   363d            no      controller-manager.conf    Feb 20, 2032 05:57 UTC   363d            no      etcd-healthcheck-client    Feb 20, 2032 05:57 UTC   363d            no      etcd-peer                  Feb 20, 2022 05:57 UTC   363d            no      etcd-server                Feb 20, 2022 05:57 UTC   363d            no      front-proxy-client         Feb 20, 2022 05:57 UTC   363d            no      scheduler.conf             Feb 20, 2032 05:57 UTC   363d            no

转载地址:http://txqoz.baihongyu.com/

你可能感兴趣的文章
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>