공용 인터넷에서 Tanzu Kubernetes Grid 클러스터에서 실행되는 Kubernetes 서비스로의 액세스를 사용하도록 설정하려면 서비스를 내부적으로 게시한 다음, 공용 IP 주소를 제공하고 수신 CIDR의 IP 주소에서 게시된 서비스를 노출하는 DNAT 규칙을 생성합니다.

클러스터 서비스에 대한 인터넷 액세스는 Tanzu Kubernetes Grid를 활성화할 때 지정한 수신 CIDR 블록의 DNAT 변환된 공용 IP 주소를 통해 로드 밸런서에 의해 관리됩니다. VMware Cloud on AWS에서 로드 밸런서 서비스는 Tanzu Kubernetes Grid를 활성화하는 각 SDDC 클러스터에 대해 자동으로 구성되는 NSX Container Plug-in에 의해 구현됩니다. 자세한 내용은 NSX Container Plug-in 개요를 참조하십시오.

다음 단계에서는 공용 인터넷에서 Kubernetes 서비스에 액세스할 수 있도록 하는 데 사용할 수 있는 일반적인 워크플로를 간략하게 설명합니다. 이 워크플로에 대한 자세한 설명은 VMware Cloud 기술 영역 문서 VMware Cloud on AWS에서 Tanzu Kubernetes 클러스터에 대한 공용 액세스 설정에 나와 있습니다.

프로시저

  1. https://vmc.vmware.com에서 VMware Cloud Services에 로그인합니다.
  2. VMware Cloud on AWS API를 사용하여 서비스를 내부적으로 게시합니다.
    여기에 표시된 것처럼 LoadBalancer 유형의 서비스로 배포하고 네임스페이스 및 노드 포트를 지정합니다.
    apiversion: v1
    kind: service
    metadata:
        name: example-svc
        namespace: ns1
        labels:
            app: hardtop-example
    spec:
        ports:
            port:80
            targetPort: 8080
        type: LoadBalancer
        selector:
            app: example-app
    type: LoadBalancer Kubernetes 서비스를 배포하면 해당 서비스가 게시되고 지정된 포트(이 예에서는 port: 80)의 클러스터 내에서 액세스할 수 있게 되며 서비스의 노드 포트가 30000보다 큰 임의의 포트에 매핑됩니다.
  3. 외부 IP 및 매핑된 노드 포트(이 예에서는 31552 사용)에서 VM에 대한 액세스를 허용하는 VMware Cloud on AWS 계산 게이트웨이 방화벽 규칙을 생성합니다.
    다음과 같은 kubectl 명령을 사용하여 방화벽 규칙에 필요한 서비스 속성을 반환합니다.
    kubectl get service  example-svc -n ns1
    NAME            TYPE             CLUSTER-IP       EXTERNAL-IP    PORT(S)
    example-svc     LoadBalancer     10.96.249.36     10.130.1.9     80:31552/TCP
    " VMware Cloud on AWS 네트워킹 및 보안 " 가이드의 관리 게이트웨이 방화벽 규칙 추가 또는 수정 절차에 따라 다음과 같은 매개 변수를 사용하여 규칙을 생성합니다.
    옵션 설명
    소스 임의
    대상 서비스의 EXTERNAL-IP(이 예에서는 10.130.1.9)
    서비스 HTTP
    작업 허용
  4. 서비스를 제공하는 VM에 대한 공용 IP 주소를 요청합니다.
    " VMware Cloud on AWS 네트워킹 및 보안 " 가이드의 공용 IP 주소 요청 또는 해제 절차를 따릅니다.
  5. 이 공용 IP에 대한 DNAT 규칙을 생성합니다.
    " VMware Cloud on AWS 네트워킹 및 보안 " 가이드의 NAT 규칙 생성 또는 수정 절차에 따라 공용 IP를 내부 IP에 일치시키는 DNAT 규칙을 생성합니다. 규칙에서 일치 내부 주소를 지정하는 경우 인터넷 인터페이스에서 공용 IP 주소에 대한 액세스를 허용하는 방화벽 규칙도 생성해야 합니다.