成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

自定義基于kubeadm創建的k8s集群證書

云計算 云原生
本文詳細介紹了如何自定義基于kubeadm創建的Kubernetes集群證書的過期時間,并對證書進行定期檢查和替換。通過重新編譯kubeadm源碼,我們能夠靈活地設置證書的有效期限,從而為測試環境和生產環境提供便利。

在 Kubernetes 集群的運維過程中,證書管理是非常重要的一部分。尤其是自定義證書的過期時間和定期的證書檢查與替換。本文將詳細介紹如何自定義基于kubeadm創建的k8s集群證書。

1、確認當前Kubernetes版本

首先,確認當前 Kubernetes版本:

Bash
kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.6", GitCommit:"741c8db18a52787d734cbe4795f0b4ad860906d6", GitTreeState:"clean", BuildDate:"2023-09-13T09:21:34Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.6", GitCommit:"741c8db18a52787d734cbe4795f0b4ad860906d6", GitTreeState:"clean", BuildDate:"2023-09-13T09:14:09Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
# 這里查看的go環境版本為:GoVersion:"go1.20.8"
# Kubernetes源碼版本為:GitVersion:"v1.27.6"

圖片圖片

2、下載對應源碼和編譯環境

下載對應源碼

根據Kubernetes版本信息下載對應版本的Kubernetes源碼,

下載地址:https://github.com/kubernetes/kubernetes/releases,

這里是v1.27.6版本

圖片圖片

下載對應go環境

根據Kubernetes版本信息下載對應版本的go環境,下載地址:https://go.dev/dl/,這里是1.20.8版本

圖片圖片

3、證書備份

為確保安全,先進行證書備份:

Bash
# master
cp -r /etc/kubernetes/pki /etc/kubernetes/pki-backup

圖片圖片

4、證書檢查

Kubernetes 提供了 kubeadm 命令來檢測集群證書的過期時間。執行以下命令檢查證書狀態:

Bash
kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'


CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Feb 14, 2026 05:26 UTC   364d            ca                      no      
apiserver                  Feb 14, 2026 05:26 UTC   364d            ca                      no      
apiserver-etcd-client      Feb 14, 2026 05:26 UTC   364d            etcd-ca                 no      
apiserver-kubelet-client   Feb 14, 2026 05:26 UTC   364d            ca                      no      
controller-manager.conf    Feb 14, 2026 05:26 UTC   364d            ca                      no      
etcd-healthcheck-client    Feb 14, 2026 05:26 UTC   364d            etcd-ca                 no      
etcd-peer                  Feb 14, 2026 05:26 UTC   364d            etcd-ca                 no      
etcd-server                Feb 14, 2026 05:26 UTC   364d            etcd-ca                 no      
front-proxy-client         Feb 14, 2026 05:26 UTC   364d            front-proxy-ca          no      
scheduler.conf             Feb 14, 2026 05:26 UTC   364d            ca                      no

圖片圖片

此命令會列出集群中所有證書的過期信息,當前證書過期時間為1年。

5、自定義證書時間并替換

按照以下步驟進行替換:

5.1 準備編譯環境

在 master節點準備編譯環境:

Bash
# master
tar xf go1.20.8.linux-amd64.tar.gz -C /usr/local/
echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile
source /etc/profile
go version

圖片圖片

5.2 源碼編譯和替換

然后,編譯 kubeadm 并替換原有版本:

Bash
# master
tar xf kubernetes-1.27.6.tar.gz
cd kubernetes-1.27.6/
vi cmd/kubeadm/app/constants/constants.go

圖片圖片

修改證書有效期為 10 年(3650 天):

Bash
CertificateValidity = time.Hour * 24 * 365 * 10

圖片圖片

編譯 kubeadm:

Bash
make WHAT=cmd/kubeadm GOFLAGS=-v
ll _output/bin/
mv /usr/bin/kubeadm /usr/bin/kubeadm.bak
cp _output/bin/kubeadm /usr/bin/

圖片圖片

圖片圖片

5.3 更新證書

執行以下命令更新所有證書:

Bash
# master
kubeadm certs renew all
# 如不需要更新所有證書,可以按需更新以下證書
kubeadm certs renew admin.conf
kubeadm certs renew apiserver
kubeadm certs renew apiserver-kubelet-client 
kubeadm certs renew controller-manager.conf
kubeadm certs renew front-proxy-client
kubeadm certs renew scheduler.conf

圖片圖片

5.4 同步文件至其他Master節點

將更新后的 kubeadm 二進制文件和證書同步到其他 Master 節點:

Bash
scp /usr/bin/kubeadm master02:/usr/bin
scp /usr/bin/kubeadm master03:/usr/bin

5.5 重啟相關組件

最后,重啟相關的 Kubernetes 組件,使證書生效:

Bash
kubectl -n kube-system delete po -l 'compnotallow=kube-apiserver'
kubectl -n kube-system delete po -l 'compnotallow=kube-controller-manager'
kubectl -n kube-system delete po -l 'compnotallow=kube-scheduler'

圖片圖片

通過執行這些命令,集群中的證書將會更新,并且相關的組件會自動重啟,應用新證書。

5.6 證書檢查

執行以下命令檢查證書狀態:

Bash
kubeadm certs check-expiration
[check-expiration] Reading configuration from the cluster...
[check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'


CERTIFICATE                EXPIRES                  RESIDUAL TIME   CERTIFICATE AUTHORITY   EXTERNALLY MANAGED
admin.conf                 Feb 12, 2035 05:48 UTC   9y              ca                      no      
apiserver                  Feb 12, 2035 05:48 UTC   9y              ca                      no      
apiserver-etcd-client      Feb 12, 2035 05:48 UTC   9y              etcd-ca                 no      
apiserver-kubelet-client   Feb 12, 2035 05:48 UTC   9y              ca                      no      
controller-manager.conf    Feb 12, 2035 05:48 UTC   9y              ca                      no      
etcd-healthcheck-client    Feb 12, 2035 05:48 UTC   9y              etcd-ca                 no    
etcd-peer                  Feb 12, 2035 05:48 UTC   9y              etcd-ca                 no      
etcd-server                Feb 12, 2035 05:48 UTC   9y              etcd-ca                 no      
front-proxy-client         Feb 12, 2035 05:48 UTC   9y              front-proxy-ca          no      
scheduler.conf             Feb 12, 2035 05:48 UTC   9y              ca                      no

圖片圖片

可以看到,現在所有證書過期時間均已變成10年。

5、總 結

本文詳細介紹了如何自定義基于kubeadm創建的Kubernetes集群證書的過期時間,并對證書進行定期檢查和替換。通過重新編譯kubeadm源碼,我們能夠靈活地設置證書的有效期限,從而為測試環境和生產環境提供便利。

自定義證書過期時間不僅簡化了運維管理,還減少了因證書過期導致的潛在風險。此外,通過本文的步驟,您可以確保集群的安全性和穩定性,同時避免了頻繁更新證書帶來的額外工作負擔。

通過執行上述步驟,您可以有效地更新集群中的證書,并確保相關組件能夠自動重啟并應用新證書。這種方法不僅提高了運維效率,還增強了集群的整體安全性。

責任編輯:武曉燕 來源: 新鈦云服
相關推薦

2021-12-08 07:55:53

K8S WebhookKubernetes

2021-11-04 07:49:58

K8SStatefulSetMySQL

2021-03-24 06:26:00

kubeadmK8Scontainerd

2023-03-05 21:50:46

K8s集群容量

2023-09-03 23:58:23

k8s集群容量

2021-04-22 09:46:35

K8SCluster Aut集群

2022-04-22 13:32:01

K8s容器引擎架構

2023-11-06 07:16:22

WasmK8s模塊

2024-02-01 09:48:17

2015-02-12 15:33:43

微信SDK

2022-12-28 10:52:34

Etcd備份

2024-05-27 00:00:10

KubernetesK8s云原生

2023-09-07 08:58:36

K8s多集群

2022-04-29 11:13:08

K8s資源Linux

2020-02-29 15:20:18

K8SKubernetes集群

2023-11-07 08:23:05

2024-08-30 09:21:28

2024-10-25 08:30:57

計算機視覺神經網絡YOLOv8模型

2019-09-09 09:53:52

K8s集群架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频国产一区 | 亚洲午夜精品一区二区三区 | 日韩精品在线网站 | 欧美一级片中文字幕 | 国产精品视频一区二区三区 | 精品影院 | 一级片免费视频 | 精品国产精品三级精品av网址 | 嫩呦国产一区二区三区av | 国产欧美一区二区三区日本久久久 | 久久国产精品视频免费看 | 亚av在线| 亚洲黄色视屏 | 中文字幕综合 | xx性欧美肥妇精品久久久久久 | 国产小视频在线 | 91久久看片 | 亚洲精品一区二区在线观看 | 久久久久国产精品一区二区 | 日日夜夜天天 | av网站免费看 | 成人一区二区在线 | 999精品视频| 成年人国产在线观看 | 在线免费看黄 | 亚洲一区二区久久 | 国产欧美一区二区三区国产幕精品 | 成人国产精品免费观看 | 日韩视频免费看 | 成人精品免费视频 | 国产精品视频一二三区 | 一区二区三区视频免费看 | 欧美一区二区在线播放 | 日韩欧美一级精品久久 | 免费在线h视频 | 日韩在线不卡视频 | 日本欧美在线 | 国产日韩欧美在线一区 | 伊人久久免费视频 | 久久久久久久久久久久一区二区 | 伊人最新网址 |