본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Failsafe 규칙

원문 보기 위키 갱신

잘못되거나 비정상적인 정책 때문에 호스트가 아예 접근 불가능해지는 사고를 막으려고, Calico에는 방화벽에 여러 핀홀(pinhole)을 열어 두는 failsafe 메커니즘이 있어요.

기본적으로 Calico는 모든 호스트 엔드포인트에서 다음 포트를 열어 둬요.

Port Protocol Direction Purpose
22 TCP Inbound SSH access
53 UDP Outbound DNS queries
67 UDP Outbound DHCP access
68 UDP Inbound DHCP access
179 TCP Inbound & Outbound BGP access (Calico networking)
2379 TCP Inbound & Outbound etcd access
2380 TCP Inbound & Outbound etcd access
5473 TCP Inbound & Outbound etcd access
6443 TCP Inbound & Outbound Kubernetes API server access
6666 TCP Inbound & Outbound etcd self-hosted service access
6667 TCP Inbound & Outbound etcd self-hosted service access

failsafe 포트 목록은 Configuring Felix에서 설명하는 FailsafeInboundHostPorts와 FailsafeOutboundHostPorts 설정 파라미터로 구성할 수 있어요. 각 설정값을 "[]"로 설정하면 비활성화할 수 있어요.

SECONDARY: 인바운드 failsafe 규칙을 제거하면 호스트에 접근할 수 없게 될 수 있어요.

아웃바운드 failsafe 규칙을 제거하면 Felix가 etcd에 연결하지 못하게 될 수 있어요.

failsafe 규칙을 끄기 전에, 여러분 환경에 맞는 더 구체적인 규칙으로 대체하는 정책을 만들어 두는 걸 권해요. Creating policy for basic connectivity를 참고하세요.

출처: Failsafe rules

본문

failsafe 규칙은 호스트 엔드포인트 정책을 잘못 작성해도 SSH, DNS, DHCP, BGP, etcd, Kubernetes API 서버 같은 기본 연결이 끊기지 않도록 잡아 주는 안전망이에요. 포트 목록은 FailsafeInboundHostPorts와 FailsafeOutboundHostPorts로 바꿀 수 있고, 비워 두면 비활성화돼요. 다만 인바운드 규칙을 지우면 호스트 접근이, 아웃바운드 규칙을 지우면 Felix의 etcd 연결이 막힐 수 있으니, 끄기 전에 더 구체적인 정책을 먼저 만들어 두세요.

더 알아보기 (Learn more)

failsafe는 정책 실수로 호스트가 고립되는 사고를 막는 최후의 안전망이에요. 비활성화하기 전에 기본 연결용 정책을 먼저 준비하는 절차를 꼭 거치세요. 관련 설정은 Felix 구성 문서의 FailsafeInboundHostPorts/FailsafeOutboundHostPorts 항목에서 확인할 수 있어요.