Kubernetes 송신 고정 IP. 가장 우아하고 효과적인 솔루션은 무엇입니까?

Kubernetes 송신 고정 IP. 가장 우아하고 효과적인 솔루션은 무엇입니까?

이 문제를 가장 최적이고 우아한 방법으로 해결한 방법을 알려주실 수 있나요? 일부 배포가 포함된 Kubernetes 클러스터가 있으며, 일부 클라이언트는 애플리케이션이 요청을 수행할 수 있도록 IP를 화이트리스트에 추가해야 합니다. 클러스터의 확장성으로 인해 클라이언트에 화이트리스트를 추가하거나 동일한 노드에 애플리케이션을 배포하기 위해 새 노드의 새 IP를 제공해야 합니다.

솔루션이 최적이 아니므로 수정 IP가 필요합니다. 정적으로 만들거나 하나의 게이트웨이를 통해 나가도록 만드세요.

Kubernetes 설치는 네트워크 공급자 Flannel의 표준입니다. 이 공급자에는 그러한 기능이 없습니다.

  1. 이러한 기능에는 예를 들어 옥양목이 있습니다.https://projectcalico.docs.tigera.io/networking/use-특이적-ip
  2. 나는 또한 이 프로젝트를 발견했습니다:https://github.com/nirmata/kube-static-egress-ip- 사용해 본 사람 있나요?

당신의 제안은 무엇입니까?

도움이 된다면 우리 호스팅은 Hetzner에 있습니다.

감사해요!

답변1

가장 우아한 솔루션은 아마도 Antrea일 것입니다.https://antrea.io/docs/v1.3.0/docs/egress/예를 들어 CNI가 사용되었습니다. VMWare Tanzu의 작품입니다. Antrea를 사용하면 EgressIPPool을 정의할 수 있으며 CNI는 Kubernetes 노드 간에 HA 기능을 제공하는 풀을 자동으로 관리합니다. 고정 발신 주소를 사용해야 하는 포드에 라벨을 설정하면 완료됩니다.

Calico에는 유사한 기능이 있지만 Egress Gateway는 유료 옵션이므로 IPPool을 사용하고 K8s 노드에 IP 블록을 할당하고 특정 포드에 레이블을 지정하여 해당 IP를 사용하도록 제한됩니다. 대규모 클러스터 환경에서 짐작하셨듯이 이러한 IP 풀은 매우 빠르게 소진될 수 있습니다. 또한 L2 라우팅 문제(동일한 VLAN 내의 주소에서 포드에 연결할 수 없음)가 있었지만 이는 아마도 내 부분의 일부 구성 오류일 수 있습니다.

또한 Cillium을 설치하려고 시도했는데 정말 고급스럽고 효율적이지만 Egress Gateway의 경우 HA 기능 없이 노드(노드 인터페이스에서 수동으로 구성해야 함)에서만 단일 IP를 지원합니다.

CNI 마이그레이션이 불가능한 경우 마지막 리소스

관련 정보