본문 바로가기

Docker/k8s

pod stuck

[1. 개요]

  1. pod 생성 시, status 가 계속 ContainerCreating 인 경우
  2. describe 로 pod 상태 확인 시, cni.0 ~~ ip 문제 인 경우

이런 상황에서 해결 방법?


[2. 원인]

CNI 플러그인으로 flannel  설치 시에도 문제가 되었던 부분이 있었는데,

host 상에 ifconfig 로 네트워크 인터페이스에 할당 된 ip 주소 범위가 겹치는 경우 주로 발생했음

kubectl get services 에서 service/kubernetes 의 Cluster-ip : 10.96.0.1 일 때,

 

--pod-network-cidr 및 kube-flannel.yml 에서 ip 주소 대역을 10.96.0.0/16 으로 명시한 경우


[3. 해결책]

Docker 및 쿠버네티스 설치 그리고 클러스터 생성 후 (CNI 플러그인 까지 설치까지 포함)

안보이던 network interface 가 보임.

 

docker0, cni0, flannel.1 등

 

cni0 나 flannel.1 에 할당 된 ip 주소는

kube-flannel.yml 내 net-conf.json

kubeadm init 시 --pod-network-cidr

  • 위 두 곳에서 ip 주소 대역이 서로 같아야 한다.
  • --pod-network-cidr 에 명시한 ip 주소대역을 kube-flannel.yml 에도 같은 형태로 기입

에 명시한 값 형태로 되어 있음

 

그래서 kubernetes cluster 초기화 시, --pod-network-cidr 의 주소 대역을

가급적 겹치지 않는 주소 대역으로 기입하면 되지 않을 까?

 

ex) 172.31.0.0/16

 

아래 명령어를 사용해서, cluster ip 를 확인해볼 것.

# kubectl get all --all-namespaces

 

관련 network interface 를 전부 내리고, 클러스터 다시 설치?

단순 kubeadm reset 후 init 시 --pod-network-cidr 을 변경해도

nic ip 주소는 바뀌지 않음 아래 명령어를 통해 interface 를 제거 후 다시 시도

=> ip link del cni0

 

 

'Docker > k8s' 카테고리의 다른 글

볼륨, 영구 볼륨, 영구 볼륨 클레임  (0) 2023.07.11
워크로드 API  (0) 2023.02.11
쿠버네티스 종류  (0) 2023.02.04
쿠버네티스 설치 과정  (0) 2023.01.31