22. 전역 애니캐스트 GlobalAddressPoolClaim 만들기

예상 소요 시간: 15분

작동 가능한 구성요소 소유자: KUB

기술 프로필: 배포 엔지니어

GlobalAddressPoolClaim 리소스는 Google Distributed Cloud (GDC) 에어갭 배포에서 모든 애니캐스트 IP 주소를 할당하는 소스입니다.

글로벌 컨트롤 플레인의 부트스트랩 중에 초기 GlobalAddressPoolClaim 리소스를 만들려면 애니캐스트 CIDR이 필요합니다. anycastCIDR 필드는 멀티 영역 애니캐스트 네트워크에 사용되는 IP 주소 블록입니다.

GlobalAddressPoolClaim 리소스를 만들려면 다음 단계를 따르세요.

  1. GlobalAddressPoolClaim 커스텀 리소스를 만듭니다.

    gdcloud system ipam create-gapc --anycast-cidr ANYCAST_CIDR --output-file OUTPUT_FILE
    

    다음을 바꿉니다.

    • ANYCAST_CIDR: GDC 배포에서 모든 애니캐스트 IP 주소를 할당하는 소스인 초기 GlobalAddressPoolClaim를 만드는 데 사용되는 애니캐스트 CIDR입니다. 예를 들면 10.8.0.0/24입니다.
    • OUTPUT_FILE: 출력 파일의 이름입니다. 예를 들면 global-address-pool-claim.yaml입니다.

    생성된 GlobalAddressPoolClaim 커스텀 리소스 YAML 파일의 예는 다음 예와 비슷합니다.

    apiVersion: ipam.global.private.gdc.goog/v1alpha1
    kind: GlobalAddressPoolClaim
    metadata:
      namespace: gpc-system
      name: global-anycast-pool-ipv4-gapc
    spec:
      ipFamily: IPv4
      staticIPRanges:
      - size: 256
        startIPAddress: 10.8.0.0
    
  2. OUTPUT_FILE에서 global-anycast-pool-ipv4-gapc와 구분되는 '---' 행이 하나 있는 GlobalAddressPoolClaim을 하나 더 추가합니다. 추가 부분은 다음과 정확히 동일합니다.

    ---
    apiVersion: ipam.global.private.gdc.goog/v1alpha1
    kind: GlobalAddressPoolClaim
    metadata:
      namespace: gpc-system
      name: root-anycast-pool-ipv4-gapc
    spec:
      ipFamily: IPv4
      parentReference:
        name: global-anycast-pool-ipv4-gapc
        type: GlobalAddressPoolClaim
      size: 30
    
  3. 루트 관리자 클러스터의 관리자 Kubernetes 구성을 사용하여 전역 API의 관리자 Kubernetes 구성을 가져옵니다.

    kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfig
    
  4. 루트 관리자 클러스터의 관리자 Kubernetes 구성을 사용하여 전역 API의 포트를 전달합니다.

    kubectl port-forward -n global-kube-system service/kube-svc 6449:6449 &> /dev/null &
    

    이 단계에서는 백그라운드에서 포트 전달 명령어를 실행합니다. 프로세스가 예기치 않게 중지되면 동일한 명령어를 다시 실행하여 다시 시작할 수 있습니다.

  5. OUTPUT_FILE을 전역 루트 관리자 클러스터에 적용합니다.

     kubectl apply -f OUTPUT_FILE --kubeconfig=GLOBAL_ROOT_ADMIN_KUBECONFIG
    
  6. GlobalAddressPoolClaim 리소스를 GDC 환경에서 사용할 수 있는지 확인합니다.

    kubectl --kubeconfig HOME_DIRECTORY/root-global-kubeconfig get globalAddressPoolClaim -A
    

    출력에 다음 두 항목이 포함되어야 하며 READYTrue로 표시되어야 합니다.

    NAMESPACE      NAME                                        PARENTNAME                      READY   STARTIP
    gpc-system     global-anycast-pool-ipv4-gapc                                               True    10.201.128.0
    gpc-system     root-anycast-pool-ipv4-gapc                 global-anycast-pool-ipv4-gapc   True    10.201.128.0