내 kubernetes 클러스터 IP 주소가 변경되어 kubectl이 더 이상 연결되지 않습니다
- Ubuntu에서 실행할 때 클러스터(마스터 노드)를 설정하고 를 복사했는데 사용할 때 모든 것이 정상이었습니다.
- 그러나 재부팅 후 마스터 노드의 IP 주소가 변경되어 더 이상 연결할 수 없습니다
그러면 새 IP 주소가 생겼으니 admin.conf를 재생성하려면 어떻게 해야 합니까? 달리기는 내가 원하는 것이 아닌 모든 것을 죽일 것이다.
사용하지 않을 수 있습니다. 그러면 모든 것이 재설정되고 클러스터 구성을 다시 시작해야 합니다.
시나리오에서 다음 단계를 확인하십시오:
- (에 대해 새 IP를 업데이트합니다
(클러스터와 관련된 구성 설정) 이 파일에서 다음 매개 변수를 찾고 그에 따라 업데이트합니다
KUBE_MASTER="--master=http://YOUR_HOSTNAME:8080"
KUBE_ETCD_SERVERS="--etcd-servers=http://YOUR_HOSTNAME:2379" #2379 is default port
( 관련)
KUBE_ETCD_SERVERS="--etcd-servers=http://YOUR_HOSTNAME/WHERE_EVER_ETCD_HOSTED:2379"
의 기본 포트이며 여기서 정의된 여러 서버를 쉼표로 구분하여 사용할 수 있습니다
, 서비스를 다시 시작합니다.
이러한 시나리오를 피하기 위해 대신 사용하는 것이 좋습니다.
도움이 되길 바래요!
나는 인터넷에서 이 솔루션을 찾았고 그것은 나에게 효과가 있다:
systemctl stop kubelet docker
cd /etc/
mv kubernetes kubernetes-backup
mv /var/lib/kubelet /var/lib/kubelet-backup
mkdir -p kubernetes
cp -r kubernetes-backup/pki kubernetes
rm kubernetes/pki/{apiserver.*,etcd/peer.*}
systemctl start docker
kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd
#Run "kubeadm reset" on all nodes if was this error "error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists
[ERROR Port-10250]: Port 10250 is in use
[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists"
cp kubernetes/admin.conf ~/.kube/config
kubectl get nodes --sort-by=.metadata.creationTimestamp
kubectl delete node $(kubectl get nodes -o jsonpath='{.items[(@.status.conditions[0].status=="Unknown")].metadata.name}')
kubectl get pods --all-namespaces
이 작업을 마치면 노예를 마스터에 가입시킵니다. 참조:
다음 명령을 사용하여 재생성할 수 있습니다
kubeadm alpha phase kubeconfig admin --apiserver-advertise-address <new_ip>
그러나 호스트 이름 대신 IP를 사용하는 경우 API 서버 인증서가 유효하지 않습니다. 따라서 인증서를 다시 생성하거나(), IP 대신 호스트 이름을 사용하거나 kubectl을 사용할 때 플래그를 추가합니다
마스터 및 작업자 IP가 변경된 K8 클러스터 설정을 찾으십시오.
- 마스터 노드와 작업자 노드의 새 호스트 IP를 사용하여 아래 파일 편집
sudovim/etc/sudovim
그런 다음 1.23 버전의 경우 - 1.26/27 버전의 경우 - 명령을 사용하여 클러스터를 재설정합니다
클러스터 초기화 실행 명령 - 버전 1.23의 경우 - 버전 1.26의 경우 - 이 명령은 작업자 가입 키를 생성합니다.
마스터 노드에서 3개 이하의 명령을 실행합니다
작업자에서 클러스터 조인 명령 실행 - 버전 1.23 - 마스터 노드에서 생성된 키 버전 1.26 - 마스터 노드에서 생성된 키 및 --cri-sock unix://run/cri-dockerd.sock
'개발하자' 카테고리의 다른 글
Python 3을 사용하여 Jupyter Notebook에서 상대적으로 가져온 다른 디렉터리에 있는 모듈에서 로컬 함수 가져오기 (1) | 2023.05.25 |
---|---|
/.pub-cache의 플러터 종속성 업데이트 (0) | 2023.05.24 |
Kubernetes Calico 노드 'XXXXXXXXXX'이(가) 이미 IPv4 주소 XXXXXXX를 사용하고 있습니다. 충돌 루프백오프 (0) | 2023.05.23 |
python2의 멀티스레딩과 python3의 멀티스레딩 (1) | 2023.05.22 |
Python Logging with loguru- log request params on Fastapi app (1) | 2023.05.22 |