22. 建立全域 Anycast GlobalAddressPoolClaim

預計完成時間:15 分鐘

可操作元件擁有者:KUB

技能設定檔:部署工程師

GlobalAddressPoolClaim 資源是來源,可分配 Google Distributed Cloud (GDC) 氣隙隔離部署中的所有任播 IP 位址。

在全域控制平面啟動期間,需要 Anycast CIDR 才能建立初始 GlobalAddressPoolClaim 資源。anycastCIDR 欄位是多區域 Anycast 網路使用的 IP 位址區塊。

請按照下列步驟建立 GlobalAddressPoolClaim 資源:

  1. 建立 GlobalAddressPoolClaim 自訂資源:

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

    更改下列內容:

    • ANYCAST_CIDR:用於建立初始 GlobalAddressPoolClaim 的任播 CIDR,這是分配 GDC 部署中所有任播 IP 位址的來源。例如: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 中,新增另一個 GlobalAddressPoolClaim,並以「---」行與 global-anycast-pool-ipv4-gapc 分隔。新增部分與下列內容完全相同:

    ---
    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
    

    輸出內容必須包含下列兩個項目,且 READY 顯示為 True

    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