이 글은 아래 자료를 참고하여 작성되었습니다.
Udemy [Kubernetes For the Absolute Beginners]
https://medium.com/google-cloud/understanding-kubernetes-networking-pods-7117dd28727
1. 단일 노드 쿠버네티스 클러스터
- 노드 IP 주소: 단일 노드 쿠버네티스 클러스터의 노드에는 IP 주소가 할당된다. 예를 들어, 192.168.1.2 이 IP 주소를 통해 노드에 접근하고 SSH로 접속할 수 있다.
- 미니큐브 설정: 미니큐브를 사용하는 경우, 하이퍼바이저 내의 미니큐브 가상 머신의 IP 주소가 노드의 IP 주소가 됩니다. 노트북의 IP 주소와는 다를 수 있다.
2. 내부 네트워크 구성
- 사설 네트워크 생성: 쿠버네티스가 처음 설정될 때, 내부 사설 네트워크(internal private network)를 생성한다. 예: 10.244.0.0/16.
- IP 주소 할당: 여러 파드를 배포하면 각각의 파드는 이 네트워크에서 고유한 내부 IP 주소를 할당받는다. (도커와 달리, 쿠버네티스에서는 IP 주소가 컨테이너가 아니라 파드에 할당된다)
- 파드 간 통신: 파드는 이 IP 주소를 통해 서로 통신할 수 있다. 하지만 파드가 재생성되면 IP 주소가 변경될 수 있어 내부 IP 주소를 사용한 통신은 바람직하지 않다.
3. 다중 노드 쿠버네티스 클러스터
- 노드 IP 주소: 다중 노드 환경에서는 각 노드가 고유의 IP 주소를 가진다. 예: 192.168.1.2와 192.168.1.3.
- 파드의 IP 충돌 문제: 각 노드에 동일한 내부 네트워크 주소를 사용하면 IP 충돌이 발생할 수 있다.
4. 네트워킹 문제 해결
- 기본 요구사항:
- 모든 컨테이너나 파드는 *NAT 없이 서로 통신할 수 있어야 한다.
- 클러스터 내의 모든 노드와 컨테이너는 NAT 없이 서로 통신할 수 있어야 한다.
- 사전 구축된 솔루션: 이러한 요구사항을 충족하는 네트워킹 솔루션을 설정해야 한다.
- ex) Cisco ACI, Cilium, Big Cloud Fabric, Flannel, VMware NSX, Calico
5. 커스텀 네트워킹 설정
- 네트워크 관리: Flannel이나 Calico와 같은 커스텀 네트워킹 솔루션을 설정하면, 각 노드에 고유의 네트워크 주소를 할당한다.
- 가상 네트워크 생성: 모든 파드와 노드가 고유한 IP 주소를 할당받는 가상 네트워크가 생성된다.
- 라우팅 기술 사용: 간단한 라우팅 기술을 사용하여 파드나 노드 간의 통신을 가능하게 한다.
*NAT(Network Address Translation, 네트워크 주소 변환)는 네트워크 장치(예: 라우터 또는 방화벽)가 IP 패킷의 출발지 IP 주소 또는 목적지 IP 주소를 변경하여 서로 다른 네트워크 간의 통신을 가능하게 하는 기술이다.
'Kubernetes' 카테고리의 다른 글
11. Practices - Microservices Architecture (2) | 2024.07.25 |
---|---|
10. Core Concepts - Services (1) | 2024.07.18 |
8. Core Concepts - Deployment (0) | 2024.07.04 |
7. Core Concepts - ReplicaSet (0) | 2024.06.25 |
6. Core Concepts - pod (0) | 2024.06.24 |