最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

快速搞定K8S新老版本的證書(shū)續(xù)期問(wèn)題

 更新時(shí)間:2026年01月24日 10:32:10   作者:龍飛05  
本文介紹了Kubernetes集群證書(shū)續(xù)期的步驟,包括更新證書(shū)、替換CCNA證書(shū)、重啟相關(guān)組件以及驗(yàn)證新證書(shū)的有效性

新版本-1.21以上版本集群證書(shū)續(xù)期

# 當(dāng)對(duì)k8s集群版本進(jìn)行了升級(jí)之后它的證書(shū)會(huì)自動(dòng)更新
# 查看有效期
kubeadm certs check-expiration
# 證書(shū)續(xù)期
kubeadm certs renew all #可以針對(duì)單個(gè)集群組件進(jìn)行升級(jí)
# 執(zhí)行完上條命令之后需要對(duì)api controller-manager scheduler進(jìn)行重啟
docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash
# 修改config文件
cp /etc/kubernetes/admin.conf /root/.kube/config
#編譯kubeadm的方式延長(zhǎng)證書(shū)有效期
100年修改golang源碼,在kubeadm init之前進(jìn)行編譯,二進(jìn)制文件
# k8s自動(dòng)對(duì)證書(shū)進(jìn)行續(xù)期

老版本k8s的證書(shū)續(xù)期

  • # master節(jié)點(diǎn)
  • # 更新證書(shū)
kubeadm alpha certs renew all
kubeadm alpha certs check-expiration
  • # 重新生成證書(shū)
kubeadm init phase certs all --config /etc/kubernetes/kubeadm-config.yaml
kubeadm init phase kubeconfig all --config /etc/kubernetes/kubeadm-config.yaml
\# kubeadm init phase kubeconfig admin --kubeconfig-dir=/etc/kubernetes/
\# kubeadm init phase kubeconfig controller-manager --kubeconfig-dir=/etc/kubernetes/
\# kubeadm init phase kubeconfig scheduler --kubeconfig-dir=/etc/kubernetes/
\# kubeadm init phase kubeconfig kubelet --config /etc/kubernetes/kubeadm-config.yaml
  • # 檢查新證書(shū)的 SAN 列表
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep -A1 "Subject Alternative Name"
openssl x509 -in /etc/kubernetes/pki/etcd/server.crt -noout -text | grep -A1 "Subject Alternative Name"

tar czvf pki.tar.gz pki/*
  • # 啟動(dòng)一個(gè) HTTP 服務(wù)器來(lái)提供證書(shū)文件
python3 -m http.server 8080

sudo -i
cd /etc/kubernetes/
rm -rf /etc/kubernetes/pki
rm -f /etc/kubernetes/{admin.conf,controller-manager.conf,scheduler.conf,kubelet.conf,pki.tar.gz}
wget http://10.116.0.6:8080/{admin.conf,controller-manager.conf,scheduler.conf,kubelet.conf,pki.tar.gz}
tar xf pki.tar.gz

docker restart $(docker ps -q -a -f "name=kube-controller-manager|kube-scheduler")
docker restart $(docker ps -q -a -f "name=kube-apiserver|kube-controller-manager|kube-scheduler|etcd")

cp /etc/kubernetes/admin.conf $HOME/.kube/config

rm -fr /var/lib/kubelet/pki.bak
mv /var/lib/kubelet/pki /var/lib/kubelet/pki.bak
systemctl restart kubelet
systemctl status kubelet

kubectl get csr # 查看未批準(zhǔn)的 CSR
kubectl certificate approve <CSR-NAME>
kubectl certificate approve $(kubectl get csr | grep Pending | awk '{print $1}')
  • # 替換 ccalico 證書(shū)
POD_CIDR=`grep 'cluster-cidr' /etc/kubernetes/manifests/kube-controller-manager.yaml | awk -F= '{print $2}'`

sed '/CALICO_IPV4POOL_CIDR/{n;s#".*"#"'$POD_CIDR'"#}' calico-etcd.yaml -i

sed -i 's/# \(etcd-.*\)/\1/' calico-etcd.yaml
etcd_key=$(cat /etc/kubernetes/pki/etcd/peer.key | base64 -w 0)
etcd_crt=$(cat /etc/kubernetes/pki/etcd/peer.crt | base64 -w 0)
etcd_ca=$(cat /etc/kubernetes/pki/etcd/ca.crt | base64 -w 0)
sed -i -e 's/\(etcd-key: \).*/\1'$etcd_key'/' \
  -e 's/\(etcd-cert: \).*/\1'$etcd_crt'/' \
  -e 's/\(etcd-ca: \).*/\1'$etcd_ca'/' calico-etcd.yaml

ETCD=$(grep 'advertise-client-urls' /etc/kubernetes/manifests/etcd.yaml | awk -F= '{print $2}')
sed -i -e 's@\(etcd_endpoints: \).*@\1"'$ETCD'"@' \
  -e 's/\(etcd_.*:\).*#/\1/' \
  -e 's/replicas: 1/replicas: 2/' calico-etcd.yaml

kubectl delete -f calico-etcd.yaml --grace-period=0 --force
kubectl apply -f calico-etcd.yaml
  • # node 節(jié)點(diǎn)
  • # 更新證書(shū)
sudo -i
cd /etc/kubernetes/
rm -fr /etc/kubernetes/{bootstrap-kubelet.conf,kubelet.conf,pki/*}
wget http://10.116.0.7:8080/{bootstrap-kubelet.conf,kubelet.conf}
wget http://10.116.0.7:8080/pki/ca.crt -O pki/ca.crt
  • # 重啟 kubelet
rm -fr /var/lib/kubelet/pki.bak
mv /var/lib/kubelet/pki /var/lib/kubelet/pki.bak
systemctl restart kubelet
systemctl status kubelet
  • # 重啟 kube-proxy
kubectl delete pod -n kube-system -l k8s-app=kube-proxy

# 重啟 docker

sudo -i
cd /etc/kubernetes/
systemctl restart docker
  • # 重啟 coredns
  • # 刪除現(xiàn)有 Token 的 Secret,Kubernetes 會(huì)自動(dòng)生成新 Token
  • # 查找 CoreDNS ServiceAccount 關(guān)聯(lián)的 Secret
kubectl get secrets -n kube-system | grep coredns-token
  • # 刪除舊 Secret(例如 coredns-token-xxxxx)
kubectl delete secret -n kube-system coredns-token-xxxxx
kubectl scale -n kube-system deployment/coredns --replicas=0
  • # 測(cè)試新 Token 是否有效
TOKEN=$(kubectl get secret coredns-token-45r8t -n kube-system -o jsonpath='{.data.token}' | base64 -d)
\# curl -k -H "Authorization: Bearer $TOKEN" https://kubernetes.default.svc.cluster.local/api/v1/namespaces
curl -k -H "Authorization: Bearer $TOKEN" https://10.116.0.6:6443/api/v1/namespaces

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Kubernetes集群環(huán)境初始化

    Kubernetes集群環(huán)境初始化

    這篇文章介紹了Kubernetes集群環(huán)境初始化的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 云原生技術(shù)kubernetes(K8S)簡(jiǎn)介

    云原生技術(shù)kubernetes(K8S)簡(jiǎn)介

    這篇文章主要介紹了云原生技術(shù)kubernetes的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用K8S,感興趣的朋友可以了解下
    2021-03-03
  • k8s部署問(wèn)題解決方案(節(jié)點(diǎn)狀態(tài)為 NotReady)

    k8s部署問(wèn)題解決方案(節(jié)點(diǎn)狀態(tài)為 NotReady)

    kubectl get nodes顯示節(jié)點(diǎn)NotReady,因kube-flannel鏡像拉取失敗,手動(dòng)拉取鏡像并修改名稱版本后,K8s自動(dòng)重試,最終恢復(fù)節(jié)點(diǎn)狀態(tài)為Ready,相關(guān)Pod也變?yōu)镽unning
    2025-07-07
  • Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

    Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

    這篇文章主要為大家介紹了Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • K8s Service服務(wù)發(fā)布方式

    K8s Service服務(wù)發(fā)布方式

    文章介紹了Kubernetes中標(biāo)簽(Label)用于資源分組,標(biāo)簽選擇器(Selector)用于精準(zhǔn)匹配;Service作為服務(wù)抽象,通過(guò)標(biāo)簽選擇器關(guān)聯(lián)Pod,提供穩(wěn)定訪問(wèn)入口(ClusterIP/NodePort);Endpoint記錄Pod網(wǎng)絡(luò)信息,實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)與流量分發(fā)
    2025-08-08
  • k8s暴露服務(wù)之Ingress環(huán)境部署實(shí)踐

    k8s暴露服務(wù)之Ingress環(huán)境部署實(shí)踐

    文章介紹了如何部署ingress控制器ingress-nginx,包括下載部署文件、修改鏡像地址、上傳文件、應(yīng)用資源以及解決pod狀態(tài)異常的問(wèn)題
    2026-01-01
  • OSS獲取阿里云的bucket和endpoint實(shí)現(xiàn)方式

    OSS獲取阿里云的bucket和endpoint實(shí)現(xiàn)方式

    本文介紹了獲取阿里云OSS的bucket和endpoint的方法,這兩個(gè)參數(shù)決定了文件的最終訪問(wèn)地址,bucket是OSS項(xiàng)目名稱,endpoint是存儲(chǔ)服務(wù)器位置,此外,還提到了OSS的文件管理與域名管理功能
    2026-03-03
  • K8s環(huán)境內(nèi)部的服務(wù)如何注冊(cè)到外部

    K8s環(huán)境內(nèi)部的服務(wù)如何注冊(cè)到外部

    文章主要討論了在K8s環(huán)境外部部署服務(wù)時(shí)如何與部署在K8s內(nèi)部的服務(wù)進(jìn)行服務(wù)注冊(cè),提出了使用LoadBalancer、Kong和NodePort三種方式,并詳細(xì)介紹了每種方式的實(shí)現(xiàn)步驟和注意事項(xiàng)
    2026-02-02
  • k8s容器放開(kāi)鎖內(nèi)存限制問(wèn)題

    k8s容器放開(kāi)鎖內(nèi)存限制問(wèn)題

    nccl-test容器運(yùn)行mpirun時(shí)因NCCL_BUFFSIZE過(guò)大導(dǎo)致OOM,需通過(guò)修改docker服務(wù)配置文件,將LimitMEMLOCK設(shè)為infinity并重啟docker,以解除內(nèi)存鎖定限制
    2025-09-09
  • K8s中Pod處于Pending狀態(tài)的八種原因分析

    K8s中Pod處于Pending狀態(tài)的八種原因分析

    文章詳細(xì)介紹了Pod處于Pending狀態(tài)的八種常見(jiàn)原因,并提供了相應(yīng)的排查和解決方法,這些原因包括資源不足、調(diào)度約束、存儲(chǔ)依賴、鏡像問(wèn)題、配額限制、網(wǎng)絡(luò)暗礁、系統(tǒng)級(jí)異常以及冷門陷阱,每種原因都附帶了具體的診斷方法和解決建議,感興趣的朋友一起看看吧
    2025-02-02

最新評(píng)論

高唐县| 天门市| 临江市| 卫辉市| 东阿县| 临武县| 泽普县| 库伦旗| 精河县| 七台河市| 天全县| 山阳县| 吕梁市| 青河县| 广汉市| 重庆市| 措勤县| 绥江县| 赫章县| 丽江市| 鸡西市| 奉节县| 巴南区| 襄樊市| 舒城县| 武强县| 新晃| 皋兰县| 奉贤区| 保亭| 合川市| 格尔木市| 西畴县| 温宿县| 阳泉市| 砚山县| 甘谷县| 寿光市| 山丹县| 武安市| 平远县|