Ada subnet root global yang ditetapkan untuk setiap zona air-gapped Google Distributed Cloud (GDC) dengan subnet IP address management (IPAM) public API. Subnet root global menghosting kumpulan rentang alamat IP root (CIDR) yang dibagi ke setiap zona untuk mem-bootstrap semua cluster dalam organisasi tenant, termasuk cluster infrastruktur org dan VM workload. Sebagian kecil rentang alamat IP juga disediakan untuk subnet root sebagai kumpulan alamat IP anycast.
Setelah organisasi dibuat, Anda dapat menyelesaikan tugas operasional berikut untuk subnet di semesta GDC Anda:
- Buat subnet yang diperlukan untuk zona baru.
- Buat subnet tambahan untuk zona yang ada.
- Buat subnet node tambahan untuk organisasi.
Membuat subnet global rentang root untuk zona baru
Setiap zona harus memiliki subnet global rentang root. Selama fase bootstrap organisasi awal di semesta GDC, setiap zona memiliki subnet global yang dibuat secara otomatis. Namun, jika zona baru ditambahkan setelah penginstalan awal, Anda harus membuat subnet global rentang root secara manual untuk zona baru.
Tentukan rentang CIDR untuk subnet rentang root jaringan zona baru
Mirip dengan panduan penginstalan organisasi untuk
menentukan rentang CIDR,
rentang CIDR tidak boleh tumpang-tindih satu sama lain, dan tidak boleh tumpang-tindih dengan
zone-infra-cidr dan subnet global root yang ada, yaitu subnet dengan
label ipam.gdc.goog/usage: network-root-range dalam spesifikasi resource kustomnya.
zone-infra-cidr ada di setiap zona dan dapat diambil dari Customer Intake Questionnaire (CIQ) jika pelanggan mendefinisikannya.
Untuk mengambil
zone-infra-cidr, jalankan:kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-system zone-infra-cidrCatat rentang CIDR.
Anda harus memiliki namespace dengan nama yang cocok dengan nama yang akan Anda tetapkan ke organisasi Anda. Konfirmasi bahwa namespace ini ada:
kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get namespace ORG_NAMEAmbil subnet global root yang ada:
Untuk cluster admin root global, jalankan:
kubectl –kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet \ -n ORG_NAME -l ipam.gdc.goog/usage=network-root-rangeUntuk server API admin organisasi global, jalankan:
kubectl –kubeconfig GLOBAL_ORG_API_SERVER_KUBECONFIG get subnet \ -n platform -l ipam.gdc.goog/usage=network-root-rangeCatat semua rentang CIDR dari output.
Konfirmasi bahwa rentang CIDR baru yang direncanakan tidak tumpang-tindih dengan rentang CIDR sebelumnya.
Setelah Anda mengonfirmasi bahwa rentang CIDR baru Anda valid untuk zona baru, konfirmasi bahwa rentang CIDR Anda mematuhi aturan berikut:
| Kolom rentang CIDR. | Ukuran minimum | VPC/VRF | Server API global |
|---|---|---|---|
zoneInfraVPCCIDR |
17 | VPC Infrastruktur | Root global |
zoneDefaultVPCCIDR |
18 | VPC Default | Organisasi global |
zoneOrgAdminExternalCIDR |
23 | Segmen jaringan admin | Root global |
zoneOrgDataExternalCIDR |
23 | Segmen jaringan data | Root global |
Membuat subnet di server API admin root global
Untuk membuat subnet di server API admin root global, selesaikan langkah-langkah berikut:
Cantumkan zona di semesta Anda, dan temukan nama zona baru:
kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get zone -ABuat subnet
infra-vpcrentang root jaringan zona untuk zona baru organisasi:kubectl apply -f --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: infra-vpc ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: infra-vpc-NEW_ZONE_NAME-root-cidr namespace: ORG_NAME spec: ipv4Request: cidr: zoneInfraVPCCIDR zone: NEW_ZONE_NAME propagationStrategy: SingleZone type: Root EOFBuat subnet segmen jaringan data rentang root jaringan zona untuk zona baru organisasi:
kubectl apply -f --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: data-external-NEW_ZONE_NAME-root-cidr namespace: ORG_NAME spec: ipv4Request: cidr: zoneOrgDataExternalCIDR zone: NEW_ZONE_NAME propagationStrategy: SingleZone type: Root EOFBuat subnet segmen jaringan admin rentang root jaringan zona untuk zona baru organisasi:
kubectl apply -f --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: admin ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: admin-external-NEW_ZONE_NAME-root-cidr namespace: ORG_NAME spec: ipv4Request: cidr: zoneOrgAdminExternalCIDR zone: NEW_ZONE_NAME propagationStrategy: SingleZone type: Root EOF
Membuat subnet di server API admin org global
Anda harus membuat subnet VPC default di server API admin org global organisasi dalam namespace platform setelah server API berjalan.
Buat dan terapkan Subnet resource kustom berikut:
kubectl apply -f --kubeconfig=GLOBAL_ORG_API_SERVER_KUBECONFIG - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
ipam.gdc.goog/usage: zone-network-root-range
name: default-vpc-NEW_ZONE_NAME-root-cidr
namespace: platform
spec:
type: Root
ipv4Request:
cidr: zoneDefaultVPCCIDR
zone: NEW_ZONE_NAME
propagationStrategy: SingleZone
EOF
Subnet yang ditingkatkan skalanya
Resource Subnet publik tidak mendukung peningkatan kualitas secara otomatis. Untuk menambahkan
rentang CIDR lainnya ke VPC atau segmen jaringan yang dikelola pelanggan, Anda
harus membuat subnet baru dan mengelompokkannya dengan label tertentu. Karena akses yang diperlukan ke cluster admin root, pelanggan tidak dapat meningkatkan skala subnet secara independen.
Aturan pengelompokan subnet
Subnet dikelompokkan ke dalam berbagai kategori menurut label:
| Kategori | Label |
|---|---|
| VPC Default | ipam.gdc.goog/vpc: default-vpc |
| VPC Infrastruktur | ipam.gdc.goog/vpc: infra-vpc |
| Segmen jaringan admin | ipam.gdc.goog/network-segment: admin |
| Segmen jaringan data | ipam.gdc.goog/network-segment: data |
Selama bootstrap awal, empat rentang CIDR ditentukan dalam
Kuesioner Penerimaan Organisasi (OIQ). Empat subnet global tersebut dibuat di server API global selama pembuatan organisasi pelanggan.
Subnet global tersebut adalah rentang CIDR tingkat root untuk setiap kategori di semua zona dalam organisasi. Semua subnet global tingkat root memiliki label
ipam.gdc.goog/usage: network-root-range.
Untuk setiap zona, subnet global turunan dibuat di server API global dengan membaginya dari subnet tingkat root. Setiap subnet global turunan menghosting rentang CIDR untuk kategori di zona tertentu, dan memiliki label ipam.gdc.goog/usage: zone-network-root-range. Subnet global turunan untuk zona
secara otomatis dipropagasi ke zona tertentu.
Kasus penggunaan umum peningkatan kualitas
Untuk alokasi subnet tambahan yang paling efisien untuk meningkatkan skala subnet yang ada, pertimbangkan kasus penggunaan yang direkomendasikan untuk setiap kategori subnet. Tentukan kategori yang ingin Anda tingkatkan kualitasnya sebelum memulai proses peningkatan kualitas.
VPC Default
Subnet di default-vpc terutama digunakan untuk mengalokasikan CIDR pod dan layanan untuk cluster layanan bersama, cluster pengguna, dan default-vpc-default-node-subnet untuk alamat IP node cluster dan alamat IP workload untuk organisasi.
Kegagalan membuat cluster pengguna adalah skenario umum yang mungkin memerlukan peningkatan skala subnet.
Pembuatan cluster pengguna dapat gagal karena tidak dapat menemukan subnet induk untuk CIDR pod atau layanan cluster pengguna. Contoh pesan untuk kegagalan ini mirip dengan berikut ini:
could not find parent for subnet platform/user-vm-1-service-cidr
Masalah ini dapat disebabkan oleh beberapa alasan yang terkait langsung dengan kebutuhan untuk meng-upgrade subnet. Pertimbangkan langkah-langkah berikut untuk mengonfirmasi:
Periksa kolom
podCIDRSizedanserviceCIDRSizedi bagian.spec.clusterNetworkdari resource kustomCluster:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get cluster \ -n platform USER_CLUSTER_NAME -oyamlOutputnya terlihat mirip dengan yang berikut ini:
Example: spec: clusterNetwork: podCIDRSize: 20 serviceCIDRSize: 20Temukan subnet induk dari subnet yang ada:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet -n platform -l \ ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=zone-network-root-rangeOutputnya terlihat mirip dengan yang berikut ini:
Example: NAME PARENT READY IPV4 CIDR IPV6 CIDR default-vpc-zone0-cidr True 198.51.100.0/18Temukan semua subnet yang dialokasikan oleh subnet induk:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet -n platform -l \ ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage!=zone-network-root-rangeOutputnya terlihat mirip dengan yang berikut ini:
Example: default-vpc-default-node-subnet {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.100.0/23 g-org-1-shared-service-pod-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.16.0/20 g-org-1-shared-service-service-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.2.0/23 user-vm-1-pod-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.8.0/21 user-vm-1-service-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.4.0/23 user-vm-2-pod-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.32.0/21 user-vm-2-service-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.6.0/23
Dalam contoh ini, CIDR induk /18 mengalokasikan empat CIDR /23, satu CIDR /20, dua CIDR /21, dan cluster pengguna baru meminta CIDR /20 untuk podCIDRSize dan CIDR /20 untuk serviceCIDRSize, yang tidak mencukupi.
Untuk kasus ini, Anda harus menambahkan lebih banyak subnet untuk kategori VPC default.
VPC Infrastruktur
Subnet di infra-vpc terutama digunakan untuk mengalokasikan CIDR pod dan layanan organisasi untuk cluster infrastruktur org dan cluster perimeter, serta alamat IP node untuk cluster perimeter.
Karena ini termasuk dalam penyiapan infrastruktur GDC internal, dan setiap organisasi hanya memiliki satu cluster infrastruktur org dan satu cluster perimeter, biasanya infra-vpc tidak memerlukan operasi peningkatan skala.
Segmen jaringan admin
Subnet di segmen jaringan admin terutama digunakan untuk mengalokasikan alamat IP di VRF admin org. Ada subnet node default, atau subnet dengan informasi gateway, yang dibuat di organisasi. Subnet default tersebut mengalokasikan alamat IP untuk alamat IP node cluster infrastruktur organisasi dan alamat IP node cluster perimeter.
Karena segmen jaringan admin termasuk dalam penyiapan infrastruktur GDC internal, dan setiap organisasi hanya dapat memiliki satu cluster infrastruktur org dan satu cluster perimeter, biasanya subnet ini tidak memerlukan penskalaan.
Segmen jaringan data
Subnet di segmen jaringan data terutama digunakan untuk mengalokasikan alamat IP di VRF data org. Ada subnet node default, atau subnet dengan informasi gateway, yang dibuat di organisasi. Subnet default tersebut mengalokasikan alamat IP untuk alamat IP node cluster infrastruktur org dan alamat IP node cluster perimeter.
Karena segmen jaringan data termasuk dalam penyiapan infrastruktur GDC internal, dan setiap organisasi hanya dapat memiliki satu cluster infrastruktur org dan satu cluster perimeter, biasanya subnet ini tidak memerlukan peningkatan skala.
Menambahkan lebih banyak subnet untuk kategori
Anda dapat menambahkan lebih banyak subnet untuk kategori berdasarkan jenis subnet. Jenis berikut memenuhi syarat untuk menambahkan lebih banyak subnet:
- VPC Infrastruktur
- Segmen jaringan admin
- Segmen jaringan data
- VPC Default
Tentukan jenis subnet yang ingin Anda tambahkan lebih banyak subnetnya, lalu selesaikan langkah-langkah berikut untuk jenis subnet tersebut:
Di server API admin root global, dapatkan jenis subnet root dan periksa kolom CIDR
maskSizedarisubnet.status.ipv4Allocation.cidr:kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet -n ORG_NAME \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=network-root-rangeGanti kode berikut:
GLOBAL_ROOT_ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin root.ORG_NAME: nama organisasi.SUBNET_TYPE: jenis subnet, sepertivpc=infra-vpc,network-segment=admin,network-segment=data, atauvpc=default-vpc.
Catat nilai ini sebagai total CIDR, yang akan dirujuk nanti.
Dapatkan semua subnet turunan dari subnet root dan periksa setiap kolom
maskSizeCIDR darisubnet.status.ipv4Allocation.cidr:kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet -n ORG_NAME \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage!=network-root-rangeCatat setiap nilai sebagai CIDR yang digunakan, yang akan dirujuk nanti.
Hitung CIDR yang tersedia dari subnet berdasarkan CIDR total dan CIDR yang digunakan. Jika CIDR yang tersedia tidak cukup besar untuk mengalokasikan subnet baru, tambahkan subnet global rentang root jaringan baru. Kemudian, lanjutkan ke langkah berikutnya.
Buat subnet baru di server API admin root global:
kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/SUBNET_TYPE_LABEL ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: SUBNET_NAME namespace: ORG_NAME spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH zone: ZONE_NAME propagationStrategy: SingleZone type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOFGanti kode berikut:
GLOBAL_ROOT_ADMIN_KUBECONFIG: jalur ke file kubeconfig cluster admin root.SUBNET_TYPE_LABEL: jenis subnet, yang harus berupa salah satu nilai berikut:vpc: infra-vpc,network-segment: admin,network-segment: data, atauvpc: default-vpc.SUBNET_NAME: nama subnet baru.ORG_NAME: nama organisasi.CIDR_PREFIX_LENGTH: panjang awalan subnet baru, seperti20.ZONE_NAME: nama zona untuk subnet, sepertizone1.PARENT_SUBNET_NAME: nama subnet induk, sepertiinfra-vpc-root-cidr,admin-external-root-cidr,data-external-root-cidr, ataudefault-vpc-root-cidr.
Verifikasi bahwa subnet sudah siap dengan memeriksa bahwa jenis status
Ready-nya adalahtrue.Pastikan subnet global dibuat di server API global organisasi, dan sudah siap:
kubectl --kubeconfig GLOBAL_ORG_ADMIN_KUBECONFIG get subnet -n NAMESPACE -l \ ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=zone-network-root-rangeGanti NAMESPACE dengan namespace untuk subnet. Gunakan
infra-networkuntuk subnetinfra-vpc, danplatformuntuk jenis subnet lainnya.Verifikasi bahwa subnet zonal dibuat di namespace organisasi cluster admin root dan sudah siap:
kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get subnet -n ORG_NAME \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=zone-network-root-rangeVerifikasi bahwa subnet zonal dibuat di server Management API dalam namespace
platform, dan sudah siap:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet -n NAMESPACE \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=zone-network-root-range
Peningkatan skala subnet untuk organisasi Anda di zona yang Anda tentukan telah selesai. Administrator Anda dapat membuat lebih banyak subnet turunan dari subnet baru.
Menambahkan subnet global rentang root jaringan baru
Subnet global dengan label ipam.gdc.goog/usage: network-root-range menghosting
CIDR untuk semua zona dalam kategori ini. Jika sudah habis, Anda harus membuat subnet network-root-range baru di server API global. Anda dapat membuat beberapa subnet global root, jika diperlukan.
Untuk membuat subnet network-root-range baru, selesaikan langkah-langkah berikut:
Buat file YAML, seperti
subnet-network-root.yaml, untuk subnet global rentang root jaringan baru Anda:apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/SUBNET_TYPE ipam.gdc.goog/usage: network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: SUBNET_NAME namespace: ORG_NAME spec: ipv4Request: cidr: NEW_CIDR type: RootGanti kode berikut:
SUBNET_TYPE: jenis subnet, yang harus berupa salah satu nilai berikut:vpc: infra-vpc,network-segment: admin,network-segment: data, atauvpc: default-vpc.API_SERVER_ANNOTATION: anotasi untuk mengidentifikasi bahwa subnet ini harus melakukan pivot ke server API lain. Untukinfra-vpcatau segmen kerja admin dan datanet, gunakanipam.gdc.goog/pivot-destination: global-org. Jika Anda menambahkan rentang rootdefault-vpcbaru, jangan tetapkan anotasi ini.SUBNET_NAME: nama subnet baru.ORG_NAME: nama organisasi.NEW_CIDR: CIDR baru untuk subnet. CIDR ini tidak boleh tumpang-tindih dengan CIDR mana pun di semua subnet yang ada dengan labelipam.gdc.goog/usage: network-root-rangedi server API admin root global yang sama.