포드의 영구 IP 주소 정보


이 페이지에서는 Google Kubernetes Engine(GKE) 클러스터 내의 특정 포드에 하나 이상의 영구(고정) IP 주소를 직접 할당하여 안정적인 통신을 달성하는 방법을 설명합니다.

커스텀 네트워크 주소 변환(NAT) 솔루션을 실행하는 특정 경우에는 NAT 솔루션이 연결을 시작하거나 수신할 때 발신 및 수신 연결 모두에 고정 영구 IP 주소가 필요할 수 있습니다. 또한 다른 시스템과 상호작용하는 방법 또는 비즈니스 요구사항에 따라 특정 유형의 요청을 처리하는 방법을 관리하기 위해 애플리케이션에 할당된 IP 주소를 제어해야 할 수도 있습니다.

기본적으로 포드는 트래픽 이그레스를 위해 인터페이스 IP 주소를 사용합니다. 포드가 다시 시작되거나 이동될 때 인터페이스 IP 주소가 변경됩니다. 라우팅 통신을 보다 세부적으로 제어하려면 GKE에서 포드의 영구 IP 주소를 수동으로 구성하면 됩니다.

이러한 IP 주소는 인터넷을 통해 통신할 외부 IP 주소이거나 Google Cloud 네트워크 내에서 통신할 내부 IP 주소일 수 있습니다. Google에서 제공하는 IP 주소를 사용하거나 자체 IP 주소를 사용(BYOIP)할 수 있습니다.

GKE에서 포드의 영구 IP 주소를 구성하면 애플리케이션 및 비즈니스 로직을 매핑하여 특정 포드가 영구 IP 주소와 트래픽을 주고 받을 수 있습니다.

용어 및 개념

이 페이지에서는 다음 개념을 사용합니다.

게이트웨이 클래스

게이트웨이 클래스 영구 IP 주소 할당을 관리하는 게이트웨이는 다음과 같은 클래스로 제공됩니다.

  • 외부 IP 주소의 경우 gke-persistent-regional-external-managed
  • 내부(Google Cloud 전용) IP 주소의 경우 gke-persistent-regional-internal-managed

    게이트웨이 클래스는 특정 리전 내에서 작동합니다. 게이트웨이 클래스는 기본 IP 주소 관리를 제공하며 레이어 3(L3) 네트워크 라우팅에 중점을 둡니다.

게이트웨이 객체

게이트웨이 객체는 영구 IP 주소를 관리 및 구성하는 중앙 지점 역할을 합니다. GKE의 게이트웨이 객체는 영구 IP 주소 풀을 관리합니다. 이러한 주소를 나열하고 이러한 IP 주소를 GKEIPRoute에 할당하는 방법에 대한 규칙을 정의합니다.

리스너

리스너는 게이트웨이 네임스페이스에서 게이트웨이에 보관되는 영구 IP 주소를 사용할 수 있는 포드를 제어하는 GKE 게이트웨이 구성의 일부입니다. 리스너를 사용하면 유연성과 보안을 위해 액세스를 맞춤설정할 수 있습니다. 각 리스너에는 고유한 이름이 필요하며 네임스페이스(전체, 라벨 기반 또는 게이트웨이의 네임스페이스만)를 기준으로 액세스를 필터링할 수 있습니다.

GKEIPRoute 객체

GKEIPRoute 객체는 GKE 클러스터의 특정 포드에 영구 IP 주소를 할당하도록 구성하는 커스텀 리소스입니다. GKEIPRoute 객체의 상태 섹션을 사용하여 영구 IP 주소 설정을 모니터링할 수 있습니다. 이 설정은 다음 필드를 통해 주요 정보를 제공합니다.

  • 포드

    포드 필드에는 영구 IP 주소에 연결된 포드의 정확한 이름이 표시됩니다. 단일 포드는 여러 영구 IP 주소를 사용할 수 있습니다.

  • 조건

    조건 필드는 외부 IP 주소 설정이 올바르게 작동하는지 여부를 알려주며 구성이 유효하지 않은 경우 문제를 진단하는 데도 도움이 됩니다. 다음과 같은 4가지 조건이 있습니다.

    • Accepted: GKEIPRoute 리소스 사양이 유효한지 나타냅니다. 구성에 오류가 있으면 Accepted 조건이 이유와 함께 False입니다.
    • GCPReady: Google Cloud에서 필요한 모든 리소스가 준비되었음을 나타냅니다. Google Cloud 리소스 프로비저닝 프로세스 중 오류는 GCPReady 조건 상태에 반영됩니다.
    • DPV2Ready: 구성된 영구 IP 주소에서 네트워크 연결을 허용하도록 데이터 경로가 준비되고 프로그래밍된 경우와 같은 데이터 경로 프로그래밍의 상태를 나타냅니다.
    • Ready: 영구 IP 주소 설정이 유효하고 작동함을 나타냅니다. 포드는 애플리케이션이 영구 IP 주소를 사용하도록 구성한 경우 영구 IP 주소에서 연결할 수 있습니다. 나머지 세 개의 조건도 모두 True이면 True로 설정됩니다.

반응 모드

반응 모드는 영구 IP 주소에 연결된 포드가 노드 간 이동 또는 새로 생성된 일치하는 포드를 사용할 수 있게 될 때와 같은 변경 사항이 발생할 때 시스템의 동작 방식을 결정합니다. 반응 모드를 사용하면 포드가 변경되더라도 영구 IP 주소를 계속 사용할 수 있습니다.

반응 모드는 다음 중 하나입니다.

  • ReadyCondition

    ReadyCondition 모드에서는 영구 IP 주소 시스템이 포드 상태를 우선시합니다. 영구 IP 주소 시스템은 지정된 라벨과 일치하고 Kubernetes 상태 프로브를 통과한 포드에만 IP 주소를 할당하여 Ready 상태를 True로 알립니다. 이 모드는 영구 IP 주소를 수신하는 포드가 수신 및 발신 트래픽을 처리할 준비가 되어 있어야 하는 애플리케이션에 적합합니다.

  • 존재

    Exists 모드는 포드 유무를 우선시합니다. 포드가 구성의 라벨과 일치하고 클러스터의 특정 노드에 예약된 경우 영구 IP 주소가 포드에 연결됩니다. 이는 포드가 존재하며 실행할 위치가 지정되었음을 의미합니다. 이 모드는 영구 IP 주소의 빠른 할당이 엄격한 준비보다 우선시되는 시나리오 또는 즉각적인 연결이 전체 애플리케이션 상태보다 중요한 개발 및 테스트와 같은 환경에 적합합니다.

StatefulSets

StatefulSets는 안정적인 식별자와 영구 스토리지가 필요한 애플리케이션을 위해 설계된 Kubernetes 워크로드 유형입니다. StatefulSet 내의 포드에는 예측 가능한 이름이 있습니다(예: my-app-0, my-app-1).

배포

Deployments는 일반적으로 포드가 상호 교환 가능한 스테이트리스(Stateless) 애플리케이션을 관리하기 위한 Kubernetes 워크로드 유형입니다. 배포 내의 포드 이름은 완전히 예측할 수 없습니다.

사용 사례

GKE 포드의 영구 IP 주소는 GKE 및 GKE Enterprise에서 네트워크 관련 애플리케이션을 실행하는 네트워크 및 보안 서비스 제공업체의 여러 사용 사례를 다룹니다.

GKE 포드의 영구 IP 주소는 다음 사용 사례를 다룹니다.

  • NAT 제어: 네트워크 기능을 실행하는 포드에 영구 IP 주소를 할당하면 아웃바운드 트래픽에 사용되는 소스 IP 주소를 세밀하게 제어할 수 있습니다. 이렇게 하면 독점 NAT 로직을 통합할 수 있습니다.
  • 전용 IP 주소 풀: 전용 IP 주소를 사용하면 특정 주소를 개별 5G 코어 포드와 일치시켜 전문 공급업체 소프트웨어와의 호환성을 보장할 수 있습니다.
  • 안정적인 트래픽 흐름: 반환 트래픽은 동일한 네트워크 기능을 통해 다시 라우팅되어야 하므로 영구 IP 주소를 사용하면 외부 시스템이 통신이 중단되지 않고 올바른 포드를 인식하고 응답할 수 있습니다.

이점

GKE 포드의 영구 IP 주소는 다음과 같은 이점이 있습니다.

  • 외부 ID: 포드에 외부 영구 IP 주소를 제공하면 클러스터 내에서 포드가 다시 시작되거나 이동되더라도 외부 시스템이 해당 포드에 일관되게 연결할 수 있습니다. 이는 외부에서 검색 가능한 엔드포인트가 필요한 서비스에 유용합니다.
  • 안정적인 통신: 특정 IP 주소가 있는 다른 리소스에 의존하는 애플리케이션은 영구 IP 주소를 사용하여 안정적으로 연결을 설정할 수 있습니다. 영구 IP 주소는 하드코딩된 IP 주소 종속 항목이 있는 기존 시스템 또는 애플리케이션에 중요합니다.
  • 레거시 마이그레이션: 레거시 마이그레이션은 전환 프로세스 중 특정 IP 주소를 사용하는 애플리케이션을 마이그레이션하는 데 도움이 될 수 있습니다.
  • BYOIP: BYOIP는 이미 소유하고 있는 특정 IP 주소 범위를 GKE 클러스터 내에서 사용하여 제어를 유지할 수 있게 해줍니다.

다음 단계