在Kubernetes集群中,kubeadm是用于快速部署一个或多个Master节点的工具,由于证书的有效期限制,我们需要定期更新证书以确保集群的安全和稳定,本教程将介绍如何延长kubeadm生成的证书时间。
我们需要了解kubeadm生成的证书类型,kubeadm会为每个节点生成以下四种类型的证书:
1. kubelet证书:用于节点上的kubelet组件与API服务器之间的通信。
2. kube-proxy证书:用于节点上的kube-proxy组件与API服务器之间的通信。
3. kubecfg证书:用于节点上的kubectl与API服务器之间的通信。
4. admin.conf:用于API服务器的管理员访问控制。
接下来,我们将分别介绍如何延长这四种证书的时间。
1. 延长kubelet证书时间
kubelet证书的有效期默认为10年,要延长其有效期,我们需要重新生成证书并替换旧证书,以下是具体步骤:
步骤1:停止kubelet服务,在节点上执行以下命令:
sudo systemctl stop kubelet
步骤2:使用新的CA证书和私钥重新生成kubelet证书和私钥,在master节点上执行以下命令:
sudo mkdir -p /etc/kubernetes/pki/ca && sudo cp /etc/kubernetes/pki/ca.crt /etc/kubernetes/pki/ca/ca.crt.old && sudo cp /etc/kubernetes/pki/ca.key /etc/kubernetes/pki/ca/ca.key.old && sudo cp /etc/kubernetes/pki/front-ca.crt /etc/kubernetes/pki/ca/front-ca.crt.old && sudo cp /etc/kubernetes/pki/front-ca.key /etc/kubernetes/pki/ca/front-ca.key.old && sudo chown root:root /etc/kubernetes/pki -R
步骤3:使用新生成的CA证书和私钥重新生成kubelet证书和私钥,在master节点上执行以下命令:
sudo rm -rf /etc/kubernetes/pki/tls && sudo mkdir -p /etc/kubernetes/pki/tls && sudo cp /etc/kubernetes/pki/ca.crt /etc/kubernetes/pki/tls/ || true && sudo cp /etc/kubernetes/pki/ca.key /etc/kubernetes/pki/tls/ || true && sudo chown root:root /etc/kubernetes/pki -R
步骤4:重新启动kubelet服务,在节点上执行以下命令:
sudo systemctl start kubelet
2. 延长kube-proxy证书时间
与延长kubelet证书时间类似,我们也需要重新生成kube-proxy证书并替换旧证书,以下是具体步骤:
步骤1:停止kube-proxy服务,在节点上执行以下命令:
sudo systemctl stop kube-proxy
步骤2:使用新的CA证书和私钥重新生成kube-proxy证书和私钥,在master节点上执行以下命令:
sudo mkdir -p /etc/kubernetes/pki && sudo cp /etc/kubernetes/pki/ca.crt /etc/kubernetes/pki/ca.crt.old && sudo cp /etc/kubernetes/pki/ca.key /etc/kubernetes/pki/ca.key.old && sudo chown root:root /etc/kubernetes/pki -R
步骤3:使用新生成的CA证书和私钥重新生成kube-proxy证书和私钥,在master节点上执行以下命令:
sudo rm -rf /etc/kubernetes/pki && sudo mkdir -p /etc/kubernetes/pki && sudo cp /etc/kubernetes/pki/ca.crt /etc/kubernetes//pki || true && sudo chown root:root /etc/kubernetes//pki -R
步骤4:重新启动kube-proxy服务,在节点上执行以下命令:
sudo systemctl start kube-proxy
3. 延长kubecfg证书时间
与延长前两种证书时间类似,我们也需要重新生成kubecfg证书并替换旧证书,以下是具体步骤:
步骤1:停止kubecfg服务,在master节点上执行以下命令:
sudo systemctl stop kubecfg
步骤2:使用新的CA证书和私钥重新生成kubecfg证书和私钥,在master节点上执行以下命令:
```bash
sudo mkdir -p /etc/kubernetes//ssl && sudo cp /etc/kubernetes//ssl/*.crt /etc/kubernetes//ssl/*.crt.old && sudo chown root:root /etc/kubernetes//ssl -R && sudo cp /etc/kubernetes//ssl/*.key /etc/kubernetes//ssl/*.key.old && sudo chown root:root /etc/kubernetes//ssl -R && sudo systemctl restart docker || true && sudo systemctl restart flanneld || true && sudo systemctl restart etcd || true && sudo systemctl restart kubernetes-apiserver || true && sudo systemctl restart kubernetes-controller-manager || true && sudo systemctl restart kubernetes-scheduler || true && sudo systemctl restart kubercfg || true && sudo systemctl restart kubercfg-ui || true && sudo systemctl restart kubercfg-apiserver || true && sudo systemctl restart kubercfg-controller-manager || true && sudo systemctl restart kubercfg-scheduler || true && sudo systemctl restart kubercfg-dashboard || true && sudo systemctl restart kubercfg-metrics-server || true && sudo systemctl restart kubercfg-prometheus || true && sudo systemctl restart kubercfg-grafana || true && sudo systemctl restart kubercfg-alertmanager || true && sudo systemctl restart kubercfg-node-exporter || true && sudo systemctl restart kubercfg-blackbox || true && sudo systemctl restart kubercfg-heapster || true && sudo systemctl restart kubercfg-influxdb || true && sudo systemctl restart kubercfg-jaeger || true && sudo systemctl restart kubercfg-zipkin || true && sudo systemctl restart kubercfg-elasticsearch || true && sudo systemctl restart kubercfg-logstash || true && sudo systemctl restart kubercfg-kibana || true && sudo systemctl restart kubercfg-fluentd || true && sudo systemctl restart kubercfg-curator || true &&
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/22954.html