Skip to content

쿠버네티스 클러스터의 네트워크 구성

마스터 노드와 워커 노드의 네트워크 설정

쿠버네티스 클러스터를 구성할 때, 각 마스터 노드와 워커 노드는 최소 하나의 네트워크 인터페이스를 가지고 있어야 하며, 이 인터페이스에는 유일한 IP 주소가 설정되어야 합니다. 또한, 각 호스트는 고유한 호스트 이름과 MAC 주소를 가져야 합니다. VM을 복제하여 노드를 생성한 경우, 이러한 설정이 중복되지 않도록 주의해야 합니다.

필요한 포트 열기

쿠버네티스의 각 컴포넌트가 통신할 수 있도록 다음 포트들이 열려 있어야 합니다:

  • 6443: API 서버 접근을 위한 포트
  • 10250: 모든 노드에 있는 Kubelet이 사용하는 포트
  • 10259: Kube Scheduler
  • 10257: Kube Controller Manager
  • 30000-32767: 외부 서비스 접근을 위한 NodePort 서비스 범위
  • 2379 & 2380: ETCD 서버와 클라이언트 간 통신 포트

네트워크 보안 설정

네트워크를 설정할 때는 방화벽, IP 테이블 규칙, 클라우드 환경의 네트워크 보안 그룹 설정을 포함하여, 위 포트들이 올바르게 열려 있는지 확인해야 합니다. 설정이 올바르게 적용되지 않았다면, 클러스터의 네트워킹 문제가 발생할 수 있습니다.

실습 세션

이제 실습 세션으로 넘어가서 기존 환경에서 네트워크 설정을 직접 확인해 보겠습니다. 다음 명령어들을 사용하여 네트워크 인터페이스, IP 주소, 호스트 이름, 포트 등의 정보를 확인할 수 있습니다.

bash
# 네트워크 인터페이스와 IP 주소 확인
ip addr show

# 시스템의 호스트 이름 확인
hostname

# 특정 포트의 네트워크 상태 확인
sudo netstat -tulpn | grep LISTEN

References Docs

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#check-required-ports
https://kubernetes.io/docs/concepts/cluster-administration/networking/