Xk8s证书续期

Master节点

备份文件

复制代码
cp -r  /etc/kubernetes/ /etc/kubernetes-20211021-bak
tar -cvzf kubernetes-20211021-bak.tar.gz /etc/kubernetes-20211021-bak/

cp -r ~/.kube/ ~/.kube-20211021-bak
tar -cvzf kube-20211021-bak.tar.gz  ~/.kube-20211021-bak

cp -r /var/lib/kubelet/ /var/lib/kubelet-20211021-bak
tar -cvzf kubelet-20211021-bak.tar.gz /var/lib/kubelet-20211021-bak

生成kubeadm配置文件

复制代码
kubeadm config view > kubeadm.yaml

测试环境k8s生成的配置示例:

复制代码
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: 10.160.11.121:6443
controllerManager: {}
dns:
  type: CoreDNS
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.18.18
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.96.0.0/12
scheduler: {}

生产环境k8s 集群已经无法访问,参考互联网资料,生产配置:

复制代码
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.16.0
controlPlaneEndpoint: 10.100.31.250:8443
apiServer:
  certSANs:
  - 10.100.31.110
  - 10.100.31.130
  - 10.100.31.133
  - 10.100.31.250
networking:
  # This CIDR is a Calico default. Substitute or remove for your CNI provider.
  podSubnet: 10.244.0.0/16
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs

注意生产环境 k8s版本与测试环境版本不一致。

开始更新证书

复制代码
kubeadm alpha certs renew all --config=kubeadm.yaml

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep 'Not'

重新生成配置文件

复制代码
kubeadm init phase kubeconfig all --config kubeadm.yaml

更新.kube配置文件

复制代码
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

chown $(id -u):$(id -g) $HOME/.kube/config

重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器

复制代码
docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash

重启kubelet

复制代码
systemctl restart kubelet

多个master节点,需要重复以上步骤。

其他

查看证书过期时间

复制代码
openssl x509 -in etcd/server.crt -noout -text |grep ' Not '
相关推荐
yuxb731 小时前
Kubernetes核心组件详解与实践:Service
笔记·kubernetes
汪碧康1 小时前
【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装
docker·云原生·容器·kubernetes·jenkins·kubelet·xkube
忍冬行者7 小时前
kubernetes安装traefik Gateway API,应对Ingress NGINX停止维护
云原生·kubernetes·云计算
ydswin9 小时前
Sidecar不就是在Pod里多跑一个容器吗!
linux·kubernetes
运维行者_11 小时前
网络流量分析入门:从流量监控与 netflow 看懂核心作用
运维·开发语言·网络·云原生·容器·kubernetes·php
科学熊12 小时前
kubekey安装工具快速安装k8s集群
云原生·容器·kubernetes
半桔12 小时前
【高并发架构】从 0 到亿,从单机部署到 K8s 编排:高并发架构的 8 级演进之路
linux·云原生·容器·架构·kubernetes
汪碧康1 天前
【k8s-1.34.2安装部署】二.kubernets软件、证书、配置、脚本等文件准备
云原生·容器·kubernetes·xkube·k8s管理平台·k8s安装部署·k8s dashboard
ldj20201 天前
docker-compose对比k8s
云原生·容器·kubernetes
啊勇的编程论坛1 天前
DeepSeek + Kubernetes 全栈运维赋能指南:智能化云原生运维新时代
运维·云原生·容器·kubernetes·云运维