文章目录

  • 1. 百年的kubeadm
    • 1.1 源码修改
    • 1.2 准备镜像
    • 1.3 编译
    • 1.4 成品备份
  • 2. 生成证书
    • 2.1 master主节点
    • 2.2 其他master节点

1. 百年的kubeadm

1.1 源码修改

  • 源码下载
cd /usr/local/src/
git clone -b release-1.15 https://github.com/kubernetes/kubernetes.git
  • 再次确认分支
cd  kubernetes
git branch -a
  • 修改cert.go
vim ./staging/src/k8s.io/client-go/util/cert/cert.goNotBefore:             now.UTC(),#修改下边的10为100NotAfter:              now.Add(duration365d * 10).UTC(),KeyUsage:              x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign,BasicConstraintsValid: true,IsCA:
  • 修改constants.go
vim ./cmd/kubeadm/app/constants/constants.go// CertificateValidity defines the validity for all the signed certificates generated by kubeadm#将下边time.Hour * 100CertificateValidity = time.Hour * 24 * 365

修改后如下:

vim ./cmd/kubeadm/app/constants/constants.go// CertificateValidity defines the validity for all the signed certificates generated by kubeadmCertificateValidity = time.Hour * 24 * 365 * 100

1.2 准备镜像

docker pull mirrorgooglecontainers/kube-cross:v1.12.10-1

官方提供的编译镜像,无论如何弄到服务器上就行了

1.3 编译

docker run --rm -it -v /usr/local/src/k8s.io/kubernetes:/go/src/k8s.io/kubernetes \
mirrorgooglecontainers/kube-cross:v1.12.10-1 bashcd /go/src/k8s.io/kubernetes
make all WHAT=cmd/kubeadm GOFLAGS=-v
exit

1.4 成品备份

  • 成品位置
    编译好的成品在: _output/local/bin/linux/amd64/kubeadm

  • 成品测试

cp _output/local/bin/linux/amd64/kubeadm /usr/bin/
chmod a+x /usr/bin/kubeadm
kubeadm version
  • 成本保存
    已上传至ftp服务器,ftp://10.252.97.213/soft/kubeadm

2. 生成证书

2.1 master主节点

  • 将前边准备的kubeadm 拷贝到服务器
cd /usr/local/src
wget  ftp://10.252.97.213/soft/kubeadm
  • 替换原来kubeadm文件
cp /usr/bin/kubeadm /usr/bin/kubeadm_back
cp /usr/local/src/kubeadm /usr/bin/kubeadm
chmod 755 /usr/bin/kubeadm
  • 备份配置文件和证书
cp -ra /etc/kubernetes /etc/kubernetes_back
  • 查看证书到期时间
kubeadm alpha certs check-expiration
  • 更新证书和配置文件
 kubeadm alpha certs renew all
  • 确认证书到期时间
[root@AiK8sM2 ~]# kubeadm alpha certs check-expiration
CERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
admin.conf                 Apr 03, 2120 06:46 UTC   99y             no
apiserver                  Apr 03, 2120 09:36 UTC   99y             no
apiserver-etcd-client      Apr 03, 2120 09:36 UTC   99y             no
apiserver-kubelet-client   Apr 03, 2120 09:36 UTC   99y             no
controller-manager.conf    Apr 03, 2120 09:36 UTC   99y             no
etcd-healthcheck-client    Apr 03, 2120 09:36 UTC   99y             no
etcd-peer                  Apr 03, 2120 09:36 UTC   99y             no
etcd-server                Apr 03, 2120 09:36 UTC   99y             no
front-proxy-client         Apr 03, 2120 06:47 UTC   99y             no
scheduler.conf             Apr 03, 2120 09:36 UTC   99y             no
  • 重启docker

说明:主要为了重启proxy和etcd

service docker restart
  • 重启kubelet
service kubelet restart

2.2 其他master节点

  • 拷贝100年的kubeadmin 文件
  • 将前边准备的kubeadm 拷贝到服务器
cd /usr/local/src
wget  ftp://10.252.97.213/soft/kubeadm
  • 替换原来kubeadm文件
cp /usr/bin/kubeadm /usr/bin/kubeadm_back
cp /usr/local/src/kubeadm /usr/bin/kubeadm
chmod 755 /usr/bin/kubeadm
  • 备份配置文件和证书
cp -ra /etc/kubernetes /etc/kubernetes_back
  • 查看证书到期时间
kubeadm alpha certs check-expiration
  • 更新证书和配置文件
 kubeadm alpha certs renew all
  • 确认证书到期时间
[root@AiK8sM2 ~]# kubeadm alpha certs check-expiration
CERTIFICATE                EXPIRES                  RESIDUAL TIME   EXTERNALLY MANAGED
admin.conf                 Apr 03, 2120 06:46 UTC   99y             no
apiserver                  Apr 03, 2120 09:36 UTC   99y             no
apiserver-etcd-client      Apr 03, 2120 09:36 UTC   99y             no
apiserver-kubelet-client   Apr 03, 2120 09:36 UTC   99y             no
controller-manager.conf    Apr 03, 2120 09:36 UTC   99y             no
etcd-healthcheck-client    Apr 03, 2120 09:36 UTC   99y             no
etcd-peer                  Apr 03, 2120 09:36 UTC   99y             no
etcd-server                Apr 03, 2120 09:36 UTC   99y             no
front-proxy-client         Apr 03, 2120 06:47 UTC   99y             no
scheduler.conf             Apr 03, 2120 09:36 UTC   99y             no
  • 从master-01 上拷贝证书文件
    从master01 上拷贝证书
ssh 10.251.137.187 "mkdir -p /etc/kubernetes/pki/etcd"
ssh 10.251.137.188 "mkdir -p /etc/kubernetes/pki/etcd"scp -r /etc/kubernetes/admin.conf 10.251.137.187:/etc/kubernetes/admin.conf
scp -r /etc/kubernetes/admin.conf 10.251.137.188:/etc/kubernetes/admin.confscp -r /etc/kubernetes/pki/{ca.*,sa.*,front*}  10.251.137.187:/etc/kubernetes/pki/
scp -r /etc/kubernetes/pki/{ca.*,sa.*,front*}  10.251.137.188:/etc/kubernetes/pki/scp -r /etc/kubernetes/pki/etcd/ca.*  10.251.137.187:/etc/kubernetes/pki/etcd/
scp -r /etc/kubernetes/pki/etcd/ca.*  10.251.137.188:/etc/kubernetes/pki/etcd/
  • 重启docker

说明:主要为了重启proxy和etcd

service docker restart
  • 重启kubelet
service kubelet restart

k8s证书到期实际操作相关推荐

  1. 升级K8S证书有效期为100年操作说明

    K8S集群有证书的概念,之前一直是使用默认的,默认都是1年和10年的,1年有效期这显然对于生产环境是不合适的,于是调整K8S证书,升级K8S证书有效期为100年. kubernetes提供了多种安全认 ...

  2. 如何在阿里云免费 SSL 证书到期后更新证书操作步骤

    今天早上我发现我的网站不能正常的通过 https 访问了,被谷歌浏览器拦截,提示隐私设置错误.然后我们 Safari 浏览器进行访问,提示此链接非私人连接,同样的被拦截了.然后我根据谷歌浏览器的提示信 ...

  3. k8s证书过期怎么办?

    1.查看当前的使用期限 for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`;do openssl x5 ...

  4. 证书到期了_您的PMP证书到期了吗?

    您的PMP证书到期了吗? 众所周知,PMP证书只有三年有效期,每三年需要进行一次续证操作,保证 PMP证书持续有效. PMP证书续证需要满足以下2个条件,缺一不可: 首先,每三年要积累满60个PDU ...

  5. Apache 服务器 SSL 证书到期-续期处理步骤

    不管是免费的还是付费的证书都是有有效期的,只不过日期长短不一样.SSL证书到期必须进行更新,否则https访问会失败.一般证书到期前,相关云平台服务商会通知你的.我用的是腾讯云,微信和邮箱都会收到到期 ...

  6. PMP证书到期了,有必要续吗?

    你觉得PMP证书到期了有必要续吗?YES or NO? 续证当然是有必要的呀!!! 你考个PMP证书只用三年是怎么回事儿呢(可以,但是没必要) PMP考试本身也是有难度的,相信你拿到证书后肯定也是学到 ...

  7. zabbix6 通过脚本监控SSL证书到期时间

    前提: zabbix6 +网上资料 写这编文件的目的是让更多的人在查询了网上资料,还会遇上无法正常读取SSL证书到期时间的问题.所以在观看本文时,你需要有搭建ZABBIX6的基础,及Cenos8系统操 ...

  8. php微信支付证书过期,微信支付API证书到期后如何续期?

    商户API证书默认期限为1年,到期后需要商户执行API证书续期操作才可以继续使用商户平台的相关API接口. 处理方法: 1.登录商户平台(pay.weixin.qq.com) 如果登录有疑问,请参考h ...

  9. K8S 证书过期的解决方法

    K8S 证书过期的解决方法 2年前用虚拟机做K8S集群学习.最近打开当时的虚拟机,发现K8S无法启动. The connection to the server xxxx:6443 was refus ...

最新文章

  1. 人工智能训练云燧T10
  2. SLAM之特征匹配(二)————RANSAC--------翻译以及经典RANSAC以及其相关的改进的算法小结
  3. hdu 1872(稳定排序)
  4. IBM科学家实现存储器重大突破
  5. 机器学习数据挖掘笔记_15(关于凸优化的一些简单概念)
  6. FastDFS分布式文件系统设计原理
  7. nodejs集成sqlite
  8. 上海交大计算机专硕学费2018,2018年上海交通大学博士研究生学费与相关奖助政策...
  9. java.util包详解(二)——Connection接口
  10. 思科网院Packet Tracer实验(三)调查运行中的 TCP/IP和OSI模型
  11. VS 番茄助手添加头注释 以及使用方式
  12. 吴恩达机器学习正则化线性回归和偏差算法的MATLAB实现(对应ex5练习)
  13. cad画直线长度与实际不符_CAD问题,画线长度不对?
  14. 词向量与词向量拼接_如何拥抱 embedding ?从词向量到句向量的技术详解-阿里云开发者社区...
  15. 得意不张狂失败不气妥
  16. linux的sssd服务,使用FreeIPA为SS信任用户在SSSD上设置默认登录Shell
  17. SAP R/3 财务基本概念及集成性浅释 —— 主数据篇
  18. 关于linux下的xinetd服务
  19. TI最新CC2640R2L与CC2640R2F区别详解
  20. python语言编程中的感叹号_python 感叹号的作用

热门文章

  1. 10位评委打分,选手最后得分为:去掉一个最高分一个最低分其余8个分数的平均值。 c语言 数组
  2. UDP端口连通性检查
  3. 大盘点:近期最值得阅读的五本深度学习书籍
  4. 为你推荐一份深度学习书单,来学习吧~
  5. python写helloworld代码_helloworld代码怎么写?
  6. Python—使用openpyxl打开Excel的一个小坑
  7. LeetCode:快速排序
  8. 最新 SecureCRT 字体背景颜色更改 (自己记录)
  9. 1000入门测试题目-c++语言入门篇-信息学奥赛一本通
  10. Python实用数据分析哪些地方,十一黄金周值得一去!