1、创建ca

创建ca-config.json

  1. vim ca-config.json
  2. i
  3. {
  4. "signing": {
  5. "default": {
  6. "expiry": "43800h"
  7. },
  8. "profiles": {
  9. "kubernetes": {
  10. "usages": ["signing", "key encipherment", "server auth", "client auth"],
  11. "expiry": "43800h"
  12. }
  13. }
  14. }
  15. }

创建ca-csr.json

  1. vim ca-csr.json
  2. i
  3. {
  4. "CN": "Kubernetes",
  5. "key": {
  6. "algo": "rsa",
  7. "size": 2048
  8. },
  9. "names": [
  10. {
  11. "C": "CN",
  12. "ST": "Beijing",
  13. "L": "Beijing",
  14. "O": "Kubernetes",
  15. "OU": "CA"
  16. }
  17. ]
  18. }

2、创建ca证书,私钥,证书请求文件

  1. cfssl gencert -initca ca-csr.json | cfssljson -bare ca

3、替换ca文件,更新证书,重启主服务

替换文件

  1. mv ca.pem ca.crt
  2. mv ca-key.pem ca.key
  3. \cp -ra ca.crt ca.key /etc/kubernetes/pki/
  4. \cp -ra ca.csr /etc/kubernetes/pki/

替换public

  1. cat ca.crt |base64 -w 0
  2. kubectl edit cm/cluster-info -n kube-public
  3. #替换certificate-authority-data下的内容

更新证书

  1. kubeadm certs renew all

重启主服务

  1. cd /etc/kubernetes/manifests/
  2. mv kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml ..
  3. sleep 5
  4. mv ../kube-* ./
  5. cd ..
  6. cat admin.conf > kubelet.conf
  7. cp admin.conf /root/.kube/config

4、替换kubelet 证书

  1. rm -rf /var/lib/kubelet/pki/* && systemctl daemon-reload && systemctl restart kubelet
附件
文档更新时间: 2023-10-10 13:36   作者:张尚