Certified Kubernetes Administration - 68
2024-06-22
- Kubernetes
- Cloud
Kubernetes의 Pod 네트워킹 구성
기본 개념
Kubernetes 클러스터는 마스터 노드와 워커 노드로 구성되며, 각 노드는 네트워크에 연결된 하나 이상의 인터페이스를 가져야 합니다. 여기서 각 Pod와 서비스가 서로 통신하고 외부와 통신할 수 있도록 네트워크 설정이 필요합니다. Kubernetes는 기본적인 네트워킹 요구 사항을 명확히 제시하지만, 자체적으로 네트워크 솔루션을 제공하지 않습니다.
네트워킹 요구 사항
-
고유 IP 주소: 각 Pod는 고유의 IP 주소를 가져야 합니다.
-
Pod 간 통신: 동일한 노드 내에서 모든 Pod는 다른 모든 Pod와 통신할 수 있어야 합니다.
-
노드 간 통신: 모든 Pod는 다른 노드의 모든 Pod와 통신할 수 있어야 합니다.
-
NAT 없이 통신: NAT 규칙을 구성하지 않고도 통신이 가능해야 합니다.
네트워크 구성 단계
-
기본 네트워크 설정:
-
각 노드는 외부 네트워크에 연결되어 있고, 192.168.1.x 형식의 IP 주소를 가집니다.
-
각 노드에는 브리지 네트워크가 생성됩니다.
-
브리지 인터페이스는 각기 다른 서브넷에 IP 주소를 할당받습니다 (예: 10.240.1.x, 10.240.2.x, 10.240.3.x).
-
-
Pod 네트워크 설정:
-
Pod가 생성될 때마다 Kubernetes는 해당 Pod에 네트워크 네임스페이스를 생성합니다.
-
네임스페이스를 브리지 네트워크에 연결하기 위해 가상 네트워크 케이블을 생성합니다.
-
각 Pod에 고유 IP 주소를 할당합니다.
-
-
노드 간 라우팅 설정:
-
한 노드의 Pod가 다른 노드의 Pod와 통신할 수 있도록 라우팅 테이블을 설정합니다.
-
각 노드의 라우팅 테이블에 다른 노드의 내부 네트워크를 추가합니다.
-
네트워크 스크립트 작성
-
Pod가 생성될 때마다 자동으로 네트워크를 설정하는 스크립트를 작성합니다.
-
스크립트는 다음과 같은 작업을 수행합니다:
-
가상 네트워크 케이블 생성
-
네임스페이스와 브리지 연결
-
IP 주소 할당
-
기본 게이트웨이 추가
-
인터페이스 활성화
-
CNI (Container Network Interface) 적용
-
CNI는 Kubernetes와 네트워크 설정 스크립트 간의 중개자 역할을 합니다.
-
CNI는 Kubernetes에 스크립트 호출 방법을 알려주고, 스크립트에 CNI 표준에 맞게 스크립트를 작성하도록 합니다.
-
스크립트는
add
와delete
섹션을 포함하여 네트워크에 컨테이너를 추가하고 삭제하는 작업을 수행합니다.
결론
이 강의에서는 Kubernetes의 Pod 네트워킹을 설정하는 기본 개념과 단계를 다루었습니다. 이를 통해 Pod 간의 통신과 노드 간의 통신을 구현할 수 있으며, CNI를 사용하여 네트워크 설정을 자동화할 수 있습니다.
Certified ...
Certified ...