Certified Kubernetes Administration - 68

2024-06-22

  • Kubernetes
  • Cloud

Kubernetes의 Pod 네트워킹 구성

기본 개념

Kubernetes 클러스터는 마스터 노드와 워커 노드로 구성되며, 각 노드는 네트워크에 연결된 하나 이상의 인터페이스를 가져야 합니다. 여기서 각 Pod와 서비스가 서로 통신하고 외부와 통신할 수 있도록 네트워크 설정이 필요합니다. Kubernetes는 기본적인 네트워킹 요구 사항을 명확히 제시하지만, 자체적으로 네트워크 솔루션을 제공하지 않습니다.

네트워킹 요구 사항

  • 고유 IP 주소: 각 Pod는 고유의 IP 주소를 가져야 합니다.

  • Pod 간 통신: 동일한 노드 내에서 모든 Pod는 다른 모든 Pod와 통신할 수 있어야 합니다.

  • 노드 간 통신: 모든 Pod는 다른 노드의 모든 Pod와 통신할 수 있어야 합니다.

  • NAT 없이 통신: NAT 규칙을 구성하지 않고도 통신이 가능해야 합니다.

네트워크 구성 단계

  1. 기본 네트워크 설정:

    • 각 노드는 외부 네트워크에 연결되어 있고, 192.168.1.x 형식의 IP 주소를 가집니다.

    • 각 노드에는 브리지 네트워크가 생성됩니다.

    • 브리지 인터페이스는 각기 다른 서브넷에 IP 주소를 할당받습니다 (예: 10.240.1.x, 10.240.2.x, 10.240.3.x).

  2. Pod 네트워크 설정:

    • Pod가 생성될 때마다 Kubernetes는 해당 Pod에 네트워크 네임스페이스를 생성합니다.

    • 네임스페이스를 브리지 네트워크에 연결하기 위해 가상 네트워크 케이블을 생성합니다.

    • 각 Pod에 고유 IP 주소를 할당합니다.

  3. 노드 간 라우팅 설정:

    • 한 노드의 Pod가 다른 노드의 Pod와 통신할 수 있도록 라우팅 테이블을 설정합니다.

    • 각 노드의 라우팅 테이블에 다른 노드의 내부 네트워크를 추가합니다.

네트워크 스크립트 작성

  • Pod가 생성될 때마다 자동으로 네트워크를 설정하는 스크립트를 작성합니다.

  • 스크립트는 다음과 같은 작업을 수행합니다:

    • 가상 네트워크 케이블 생성

    • 네임스페이스와 브리지 연결

    • IP 주소 할당

    • 기본 게이트웨이 추가

    • 인터페이스 활성화

CNI (Container Network Interface) 적용

  • CNI는 Kubernetes와 네트워크 설정 스크립트 간의 중개자 역할을 합니다.

  • CNI는 Kubernetes에 스크립트 호출 방법을 알려주고, 스크립트에 CNI 표준에 맞게 스크립트를 작성하도록 합니다.

  • 스크립트는 adddelete 섹션을 포함하여 네트워크에 컨테이너를 추가하고 삭제하는 작업을 수행합니다.

결론

이 강의에서는 Kubernetes의 Pod 네트워킹을 설정하는 기본 개념과 단계를 다루었습니다. 이를 통해 Pod 간의 통신과 노드 간의 통신을 구현할 수 있으며, CNI를 사용하여 네트워크 설정을 자동화할 수 있습니다.

Certified ...

Certified ...