Certified Kubernetes Administration - 72
2024-06-22
- Kubernetes
- Cloud
Kubernetes 서비스 네트워킹 요약
개요
이 강의에서는 Kubernetes의 서비스 네트워킹에 대해 다룹니다. 이전 강의에서 파드 네트워킹과 각 노드에서 브리지 네트워크를 만드는 방법, 파드에 네임스페이스와 인터페이스를 할당하는 방법, 파드가 서브넷 내에서 IP 주소를 할당받는 방법을 배웠습니다.
이번 강의에서는 서비스 네트워킹과 서비스가 어떻게 클러스터 전반에 걸쳐 작동하는지, 그리고 외부 사용자가 서비스에 접근할 수 있는 방법을 알아봅니다.
서비스 유형
-
ClusterIP:
-
파드가 다른 파드에 접근할 수 있도록 하는 기본 서비스 유형.
-
서비스는 클러스터 내에서만 접근 가능하며 외부에서는 접근할 수 없음.
-
-
NodePort:
-
외부 사용자가 클러스터의 서비스에 접근할 수 있도록 하는 서비스 유형.
-
클러스터의 모든 노드에서 특정 포트를 통해 서비스에 접근 가능.
-
서비스의 IP 주소 할당 및 접근
-
Kubernetes는 서비스 객체를 생성할 때 미리 정의된 범위에서 IP 주소를 할당합니다.
-
각 노드에서 실행되는 kube-proxy가 이 IP 주소를 받아 노드의 포워딩 규칙을 생성합니다.
-
서비스는 실제로 존재하는 서버나 네임스페이스, 인터페이스가 아니며, 가상 객체입니다.
-
서비스에 접근하는 트래픽은 서비스 IP로 포워딩되어 해당 파드의 IP로 전달됩니다.
-
kube-proxy는 IP와 포트 조합으로 서비스 접근을 관리합니다.
iptables를 통한 트래픽 포워딩
-
kube-proxy는 iptables를 사용하여 서비스와 파드 간의 트래픽을 포워딩합니다.
-
서비스 생성 시 Kubernetes는 서비스에 IP 주소를 할당합니다.
-
kube-proxy는 이 정보를 기반으로 iptables의 NAT 테이블에 DNAT 규칙을 추가합니다.
-
예: 서비스 IP로 들어오는 트래픽을 해당 파드 IP로 포워딩하는 규칙.
NodePort 서비스의 동작
-
NodePort 서비스는 모든 노드에서 특정 포트를 통해 외부 접근을 허용합니다.
-
kube-proxy는 각 노드에 포트 포워딩 규칙을 설정하여 트래픽을 적절한 파드로 전달합니다.
로그 확인 및 문제 해결
-
kube-proxy 로그에서 생성된 엔트리를 확인하여 설정된 규칙을 추적할 수 있습니다.
-
로그 위치는 설치 방식에 따라 다를 수 있으며, 로그 수준 설정도 확인해야 합니다.
핵심 요약
-
서비스 네트워킹: 파드 간 통신을 위한 ClusterIP와 외부 접근을 위한 NodePort.
-
IP 주소 할당: Kubernetes는 서비스와 파드에 고유한 IP 주소를 할당.
-
iptables 사용: kube-proxy는 iptables를 통해 서비스 트래픽을 관리.
-
kube-proxy 로그: 로그를 통해 설정된 규칙과 동작을 확인.
Certified ...
Certified ...