03.04 K8s二进制部署-编译源码解决kubelet-client-xxxx证书一年问题

  • cpu6核心以上
  • 内存15gb以上
  • 拉取源码
  • 确保golang版本与源码版本一致(一般新的不行就往回退个版本)

主要为了解决 二进制方式部署Kubernetes的 kubelet-client证书1年的问题(二进制部署其余证书都是可以在安装的时候自己配置时间的,)改k8s源码为5年

准备编译环境

<code>yum  install git  wget  vim  gcc  gcc+  make  -y
yum install golang -y #新版的是编译不了旧版本的k8s源码的 这里要注意下/<code>

下载k8s源码包

<code>go version
wget https://github.com/kubernetes/kubernetes/archive/v1.14.8.tar.gz
cd kubernetes-1.14.8//<code>

改kubelet-client证书时长

<code>#改为五年
vi ./pkg/controller/apis/config/v1alpha1/defaults.go
原: = metav1.Duration{Duration: 365 * 24 * time.Hour
改5年:
obj.ClusterSigningDuration = metav1.Duration{Duration: 365 * 24 * time.Hour * 10}/<code>

编译

<code>cd  kubernetes-1.14.8/
KUBE_BUILD_PLATFORMS=linux/amd64 make/<code>

#生成的二进制文件


<code>[root@31039 kubernetes-1.14.8]# ls _output/bin/
apiextensions-apiserver deepcopy-gen e2e.test genman ginkgo hyperkube kube-controller-manager kubemark linkcheck
cloud-controller-manager defaulter-gen gendocs genswaggertypedocs go2make kubeadm kubectl kube-proxy mounter
conversion-gen e2e_node.test genkubedocs genyaml go-bindata kube-apiserver kubelet kube-scheduler openapi-gen
[root@31039 kubernetes-1.14.8]#
[root@31039 kubernetes-1.14.8]# cd _output/bin/
[root@31039 bin]# ./kube-controller-manager --version
Kubernetes v1.14.8
[root@31039 bin]#/<code>

用法:

将编译好的kube-controller-manager 拷贝出来,

  • 在已有集群使用: 替换默认的kube-controller-manager,重启master节点,node节点相关服务
  • 在准备二进制安装k8s集群使用:在安装前替换kube-controller-manager
<code>/usr/local/bin/kube-controller-manager  #替换
systemctl status kube-controller-manager.service #重启生效
#重新添加Node节点(重启node节点 kubelet.service)
#接受csr
#验证证书效果(看证书有效期/直接改Linux系统日志往后改3年集群不挂即成功)
[root@228-godfs-01 ~]# cd /etc/kubernetes/ssl/
[root@228-godfs-01 ssl]# pwd
/etc/kubernetes/ssl
[root@228-godfs-01 ssl]# openssl x509 -in kubelet-client-2020-03-04-16-23-04.pem -noout -text|grep Not
Not Before: Mar 4 08:18:00 2020 GMT
Not After : Mar 3 08:11:55 2025 GMT
[root@228-godfs-01 ssl]#
/<code>

效果

K8s二进制部署-编译源码解决kubelet-client-xxxx证书一年问题


K8s二进制部署-编译源码解决kubelet-client-xxxx证书一年问题


分享到:


相關文章: