Mengonfigurasi CIDR untuk organisasi zonal baru

Di lingkungan air-gapped Google Distributed Cloud (GDC), Anda dapat membuat organisasi v1 atau v2 yang mencakup beberapa zona. Namun, ada dua skenario pembuatan organisasi yang memerlukan konfigurasi CIDR tambahan sebelum membuat organisasi:

Bagian berikut mencakup skenario ini dan prasyarat yang harus Anda selesaikan sebelum membuat organisasi.

Mengonfigurasi setelan CIDR untuk organisasi v1 di zona baru

Anda tidak dapat menyediakan organisasi v1 di zona baru secara default karena banyak klaim CIDR yang diperlukan organisasi v1 sudah ditetapkan ke organisasi root.

Anda juga harus menggunakan fitur alamat IP kustom yang ada untuk organisasi v1.

Setelan CIDR rencana

Kumpulkan setelan CIDR yang ada dan dikonfigurasi di zona Anda sehingga Anda dapat menghindari tumpang-tindih CIDR di organisasi v1 baru Anda.

  1. Mencetak resource zone-infra-cidr CIDRClaim yang ada:

    kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim \
        -n gpc-system zone-infra-cidr
    
  2. Periksa kolom status.ipv4AllocationStatus.cidrBlocks dan status.ipv6AllocationStatus.cidrBlocks untuk resource CIDRClaim dari output.

    Misalnya, resource CIDRClaim berikut telah mencadangkan blok CIDR 192.0.2.0/21, 198.51.100.0/26, 203.0.113.0/23, dan 2001:db8::/66:

    apiVersion: system.private.gdc.goog/v1alpha1
    kind: CIDRClaim
    metadata:
      name: zone-infra-cidr
      namespace: gpc-system
    spec:
      ipv4Spec:
        staticCidrBlocks:
        - 192.0.2.0/21
        - 198.51.100.0/26
        - 203.0.113.0/23
      ipv6Spec:
        staticCidrBlocks:
        - 2001:db8::/66
    status:
      ipv4AllocationStatus:
        cidrBlocks:
        - 192.0.2.0/21
        - 198.51.100.0/26
        - 203.0.113.0/23
      ipv6AllocationStatus:
        cidrBlocks:
        - 2001:db8::/66
    

    Catat blok CIDR ini agar Anda dapat menghindari penggunaannya saat membuat CIDR eksternal kustom dan CIDR internal kustom untuk organisasi Anda.

  3. Periksa zone-infra-cidr setiap zona dan perhatikan bahwa blok CIDR yang ada tidak digunakan sehingga Anda dapat menghindari penggunaannya saat membuat CIDR kustom untuk organisasi Anda. Untuk mengalihkan konteks zona, gunakan gdcloud CLI.

  4. Mencetak semua subnet yang ada dengan label network-root-range:

    kubectl --kubeconfig=GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet \
        -l ipam.gdc.goog/usage=network-root-range -A
    
  5. Periksa kolom status.ipv4Allocation.cidr dan status.ipv6Allocation.cidr untuk setiap resource Subnet.

    Misalnya, infra-vpc-root-cidr berikut telah mencadangkan CIDR 192.0.2.0/15:

    apiVersion: ipam.global.gdc.goog/v1
    kind: Subnet
    metadata:
      labels:
        ipam.gdc.goog/usage: network-root-range
        ipam.gdc.goog/vpc: infra-vpc
      name: infra-vpc-root-cidr
      namespace: org-1
    spec:
      ipv4Request:
        cidr: 192.0.2.0/15
      propagationStrategy: None
      type: Root
    status:
        ipv4Allocation:
        cidr: 192.0.2.0/15
    

    Catat CIDR ini agar Anda tidak menggunakannya saat membuat CIDR eksternal kustom dan CIDR internal kustom untuk organisasi Anda.

Mengonfigurasi alamat IP kustom

Sebagai bagian dari proses bootstrapping organisasi v1, CIDR eksternal kustom dan CIDR internal kustom diperlukan sebagai input ke resource kustom global OrganizationZonalConfig untuk mendukung bootstrap organisasi v1 global.

Dalam spesifikasi resource OrganizationZonalConfig, Anda harus menambahkan konfigurasi alamat IP kustom untuk CIDR eksternal dan CIDR internal. CIDR eksternal kustom dan CIDR internal kustom di-instantiate ke klaim CIDR org-namespace/org-custom-external-cidr dan org-namespace/org-custom-internal-cidr, masing-masing, untuk organisasi zonal. Semua klaim CIDR dan klaim subnet lainnya dari organisasi ini adalah turunan dari dua klaim CIDR ini:

...

spec:
  capacities:
    customIPConfig:
      externalCIDRs:
      - CUSTOM_EXTERNAL_CIDR
      internalCIDRs:
      - CUSTOM_INTERNAL_CIDR

...

Berikut ini harus benar untuk CIDR eksternal kustom dan CIDR internal kustom:

  • Unik di resource OrganizationZonalConfig untuk setiap zona.
  • Unik di resource OrganizationZonalConfig untuk setiap organisasi v1 yang ada di semua zona.
  • Tidak boleh tumpang-tindih dengan zone-infra-cidr untuk setiap zona.
  • Tidak boleh tumpang-tindih dengan subnet global mana pun yang memiliki label ipam.gdc.goog/usage=network-root-range.

Setelah persyaratan ini terpenuhi, Anda dapat melanjutkan langkah-langkah bootstrap organisasi default untuk mem-bootstrap organisasi v1 di zona baru.

Mengonfigurasi setelan CIDR untuk organisasi v2 di zona yang ada

Untuk menyediakan organisasi v2 di zona yang ada, Anda harus membuat resource CIDRClaimgpc-system/zone-infra-cidr secara manual. Anda juga harus memastikan bahwa blok CIDR dalam klaim CIDR baru tidak tumpang-tindih dengan yang berikut:

  • Klaim CIDR gpc-system/instance- di zona.

  • Klaim CIDR gpc-system/zone-infra-cidr atau gpc-system/instance- di zona lain di semesta.

Setelan CIDR rencana

  1. Cetak resource CIDRClaim yang ada:

    kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-system
    
  2. Periksa kolom status.ipv4AllocationStatus.cidrBlocks dan status.ipv6AllocationStatus.cidrBlocks untuk setiap resource CIDRClaim dari output.

    Misalnya, resource CIDRClaim berikut telah mencadangkan blok CIDR 192.0.2.0/21, 198.51.100.0/26, 203.0.113.0/23, dan 2001:db8::/66:

    apiVersion: system.private.gdc.goog/v1alpha1
    kind: CIDRClaim
    metadata:
      name: instance-external-cidr
      namespace: gpc-system
    spec:
      ipv4Spec:
        staticCidrBlocks:
        - 192.0.2.0/21
        - 198.51.100.0/26
        - 203.0.113.0/23
      ipv6Spec:
        staticCidrBlocks:
        - 2001:db8::/66
    status:
      ipv4AllocationStatus:
        cidrBlocks:
        - 192.0.2.0/21
        - 198.51.100.0/26
        - 203.0.113.0/23
      ipv6AllocationStatus:
        cidrBlocks:
        - 2001:db8::/66
    

    Catat blok CIDR ini agar Anda dapat menghindari penggunaannya saat membuat zone-infra-cidr untuk organisasi v2 Anda.

Buat klaim CIDR zone-infra-cidr

  1. Temukan dan catat klaim CIDR berikut dengan namespace gpc-system di setiap zona semesta Anda:

    • instance-external-cidr
    • instance-internal-pod-network-cidr
    • instance-internal-cluster-ip-cidr
    • instance-internal-physical-network-cidr
    • instance-internal-cidr
    • zone-infra-cidr

    Misalnya, perintah berikut menampilkan klaim CIDR instance-external-cidr untuk zona saat ini:

    kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-system instance-external-cidr
    

    Untuk mengalihkan konteks zona, gunakan gdcloud CLI.

  2. Buat resource CIDRClaim bernama zone-infra-cidr yang tidak tumpang-tindih dengan klaim CIDR yang diperiksa sebelumnya:

    kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG apply -f - <<EOF
    apiVersion: system.private.gdc.goog/v1alpha1
    kind: CIDRClaim
    metadata:
      name: zone-infra-cidr
      namespace: gpc-system
    spec:
      ipv4Spec:
        staticCidrBlocks:
        - IPV4_CIDR
      ipv6Spec:
        staticCidrBlocks:
        - IPV6_CIDR
    EOF
    

    CIDR IPv4 dan IPv6 harus unik dan tidak boleh tumpang-tindih dengan klaim CIDR instance- yang ada di namespace gpc-system di zona saat ini atau zona lain yang ada.

  3. Periksa status zone-infra-cidr untuk memastikan bahwa zone-infra-cidr sudah siap:

    kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG \
        get cidrclaim -n gpc-system zone-infra-cidr
    

    Setelah klaim CIDR Ready, Anda dapat melanjutkan langkah-langkah bootstrap organisasi default untuk mem-bootstrap organisasi v2 di zona baru.