Optional: Broken ETCD Cluster
kubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints $ETCD_ENDPOINTS \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ endpoint healthkubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints $ETCD_ENDPOINTS \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ endpoint statussudo mv /etc/kubernetes/manifests/etcd.yaml /root/kubectl get pod -Acrictl logs $(crictl ps --name kube-apiserver -aq)... spec: containers: - command: - etcd - --advertise-client-urls=https://xxx.xxx.xxx.xxx:2379 .... .... - --force-new-clustersudo crictl ps --name=etcd -asudo crictl logs $(sudo crictl ps --name=etcd -q)ip addr show ens5 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1- --etcd-servers=https://CP_PRIVATE_IP_ADDRESS:2379{ kubectl get pod -A kubectl get node }kubectl get pod -n kube-system -l component=etcdkubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints localhost:2379 \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ member listkubectl -n kube-system exec -it etcd-cp -- \ etcdctl \ --endpoints localhost:2379 \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ member add secondcp \ --peer-urls=https://$(kubectl get node secondcp -ojsonpath='{.status.addresses[0].address}'):2380rm -rf /var/lib/etcd/*sudo mv /root/etcd.yaml /etc/kubernetes/manifests/etcd.yamlkubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints localhost:2379 \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ member listkubectl -n kube-system exec -it etcd-cp -- \ etcdctl \ --endpoints localhost:2379 \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ member add secondcp \ --peer-urls=https://$(kubectl get node thirdcp -ojsonpath='{.status.addresses[0].address}'):2380rm -rf /var/lib/etcd/*sudo mv /root/etcd.yaml /etc/kubernetes/manifests/etcd.yamlkubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints localhost:2379 \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ member list{ export ETCD_ENDPOINTS=$(kubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w json \ --endpoints localhost:2379 \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ member list \ | jq -r '.members | map(.clientURLs[]) | join(",")') echo $ETCD_ENDPOINTS }kubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints $ETCD_ENDPOINTS \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ endpoint statuskubectl -n kube-system exec -it etcd-cp -- \ etcdctl -w table \ --endpoints $ETCD_ENDPOINTS \ --cacert /etc/kubernetes/pki/etcd/ca.crt \ --cert /etc/kubernetes/pki/etcd/server.crt \ --key /etc/kubernetes/pki/etcd/server.key \ endpoint health- --etcd-servers=https://127.0.0.1:2379... spec: containers: - command: - etcd - --advertise-client-urls=https://xxx.xxx.xxx.xxx:2379 .... .... - --force-new-cluster <- 해당 라인 삭제{ kubectl get pod -A kubectl get node }
Last updated