노드 간 방화벽 설정
Table of contents
안내 사항

관리용 LB: Master 노드 관리용 로드밸런서
서비스용 LB: Client 트래픽 수신용 로드밸런서
- Infra 노드가 별도로 구성되어 있을 경우, Worker 노드와 동일하게 방화벽 오픈이 필요합니다.
- 프로토콜 번호 (괄호): RFC에 정의된 번호이며, 특정 포트 번호를 의미하는 것이 아닙니다. (예: TCP=6, UDP=17, ICMP=1, IPIP=4)
- 빨간색 설명: 외부 로드밸런서(LB)가 없을 경우에만 선택적으로 사용합니다.
- SSH 포트: 보안 정책에 따라 다른 포트로 변경하여 사용할 수 있습니다.
- 노드(VM)간 내부 방화벽이 차단되지 않은 환경일 경우 본 설정은 생략 가능합니다. (단, IPIP 프로토콜 제외)
- 아래 규칙은 아코디언 v2, v3 공통이지만, 멤버 클러스터 관련 포트 차이가 있으니 아래 표에서 확인을 당부드립니다. (30443, 31000 포트)
공통 기본 방화벽 규칙
| 출발지 | 목적지 | 포트 | 프로토콜 | 목적 및 설명 |
|---|---|---|---|---|
| 모든 노드 (all) | Master 노드 | 6443 | TCP (6) | 쿠버네티스 API 서버 |
| 모든 노드 (all) | 관리용 LB VIP | 8443 | TCP (6) | 쿠버네티스 API 서버 (Master 3중화, 외부 LB 없을 경우 사용) |
| Master 노드 | Master 노드 | 2379 | TCP (6) | ETCD Server Client API |
| Master 노드 | Master 노드 | 2380 | TCP (6) | ETCD Cluster Peer |
| 모든 노드 (all) | 모든 노드 (all) | 10250 | TCP (6) | kubelet API |
| 모든 노드 (all) | 모든 노드 (all) | 10255 | TCP (6) | kubelet 헬스체크 (read only) |
| 모든 노드 (all) | 모든 노드 (all) | 10256 | TCP (6) | kube-proxy 헬스체크 |
| 모든 노드 (all) | 모든 노드 (all) | 10257 | TCP (6) | kube-controller-manager |
| 모든 노드 (all) | 모든 노드 (all) | 10259 | TCP (6) | kube-scheduler |
| 모든 노드 (all) | Master 노드 | 30000 | TCP (6) | 아코디언 관리 콘솔 |
| 모든 노드 (all) | 모든 노드 (all) | 30001 | TCP (6) | 아코디언 유저 레지스트리 |
| 모든 노드 (all) | 모든 노드 (all) | 30002 | TCP (6) | 아코디언 모니터링 (thanos-store-gateway) |
| 모든 노드 (all) | 모든 노드 (all) | 30003 | TCP (6) | 아코디언 모니터링 (thanos-sidecar) |
| 모든 노드 (all) | 모든 노드 (all) | 30443 | TCP (6) | 아코디언 멤버 에이전트 (아코디언 v2 한정) |
| 모든 노드 (all) | 모든 노드 (all) | 31000 | TCP (6) | 아코디언 멤버 클러스터 관리 콘솔 (clusterinfo 확인) (아코디언 v3 한정) |
| Master 노드 | 모든 노드 (all) | 22 | TCP (6) | SSH (ansible 통신) (정책 따라 다른 포트로 변경 가능) |
| 모든 노드 (all) | 모든 노드 (all) | 9100 | TCP (6) | 아코디언 모니터링 (Prometheus node-exporter) |
| 모든 노드 (all) | Master 노드 | 5000 | TCP (6) | 아코디언 베이스 레지스트리 |
| 모든 노드 (all) | Master 노드 | 5001 | TCP (6) | 아코디언 베이스 레지스트리 (Master 3중화, 외부 LB 없을 경우 사용) |
| 모든 노드 (all) | 모든 노드 (all) | - | ICMP (1) | 노드 간 Ping 통신 |
쿠버네티스 CNI 유형 별 추가 방화벽 규칙
사용하고자 하는 CNI 유형(Calico 또는 Cilium)에 따라 아래의 포트를 바인딩하여 오픈해야 합니다.
- Calico 선택 시
| 출발지 | 목적지 | 포트 | 프로토콜 | 목적 및 설명 |
|---|---|---|---|---|
| 모든 노드 (all) | 모든 노드 (all) | 179 | TCP (6) | Calico BGP 라우팅 |
| 모든 노드 (all) | 모든 노드 (all) | 4789 | UDP (17) | Calico VXLAN 오버레이 네트워킹 |
| 모든 노드 (all) | 모든 노드 (all) | - | IPIP (4) | Calico IPIP 캡슐화 네트워킹 |
- Cilium 선택 시
| 출발지 | 목적지 | 포트 | 프로토콜 | 목적 및 설명 |
|---|---|---|---|---|
| 모든 노드 (all) | 모든 노드 (all) | 8472 | UDP (17) | Cilium VXLAN 오버레이 네트워킹 |
| 모든 노드 (all) | 모든 노드 (all) | 6081 | UDP (17) | Cilium Geneve 오버레이 네트워킹 (VXLAN 대신 Geneve 설정 시 필요) |
| 모든 노드 (all) | 모든 노드 (all) | 51871 | UDP (17) | Cilium Wireguard 데이터 암호화 터널링 포트 |
| 모든 노드 (all) | 모든 노드 (all) | 4240 | TCP (6) | Cilium Agent 헬스체크 |
| 모든 노드 (all) | 모든 노드 (all) | 4244 | TCP (6) | Cilium Hubble 서버 포트 (gRPC 기반 흐름 관측) |
| 모든 노드 (all) | 모든 노드 (all) | 4245 | TCP (6) | Cilium Hubble Relay 서비스 통신 포트 |
| 모든 노드 (all) | 모든 노드 (all) | 4250 | TCP (6) | Cilium Agent 원격 호출 및 동기화 용 gRPC API 내부 포트 |
| 모든 노드 (all) | 모든 노드 (all) | 9962 | TCP (6) | Cilium Agent Prometheus 메트릭 수집 포트 |
| 모든 노드 (all) | 모든 노드 (all) | 9963 | TCP (6) | Cilium Operator Prometheus 메트릭 수집 포트 |
| 모든 노드 (all) | 모든 노드 (all) | 9964 | TCP (6) | Cilium Envoy proxy 메트릭 수집 포트 |
| 모든 노드 (all) | 모든 노드 (all) | 9965 | TCP (6) | Cilium Hubble Prometheus 메트릭 수집 포트 |