Buat subnet tambahan di Virtual Private Cloud (VPC) internal organisasi Anda, atau VPC Default, untuk mendukung persyaratan jaringan internal Anda. Misalnya, tambahkan subnet VPC untuk memastikan bahwa workload internal Anda, seperti virtual machine (VM) dan container, memiliki alamat IP yang cukup.
Ada beberapa tugas yang diuraikan di halaman ini, yang tidak dimaksudkan untuk diselesaikan secara berurutan:
- Buat subnet cabang zona untuk workload: Tugas ini berguna untuk mengatur atau mengalokasikan lebih lanjut alamat IP internal zona yang ada ke workload.
- Buat subnet leaf untuk workload individual: Tugas ini berguna saat Anda memiliki workload baru yang belum memiliki alamat IP untuk digunakan.
- Mengalokasikan subnet zona dari rentang alamat IP global: Tugas ini berguna jika zona Anda tidak lagi memiliki ruang alamat IP internal yang cukup.
- Membagi subnet global root tanpa alokasi zona: Tugas ini berguna untuk mengatur lebih lanjut alamat IP internal di server API global sebelum mengalokasikannya ke zona.
- Menambahkan subnet global rentang root jaringan baru: Tugas ini berguna jika VPC Default Anda tidak lagi memiliki ruang alamat IP internal global yang cukup untuk dialokasikan ke zona Anda.
Untuk ringkasan subnet dan konsepnya sebelum Anda menyelesaikan tugas di halaman ini, lihat Subnet dan alamat IP.
Dokumen ini ditujukan bagi administrator platform dan operator aplikasi yang bertanggung jawab mengelola traffic jaringan untuk organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Audiens untuk GDC yang terisolasi dari internet.
Sebelum memulai
Untuk mendapatkan izin yang diperlukan guna membuat subnet, minta Admin IAM Organisasi Anda untuk memberi Anda peran IAM Subnet Org Admin (subnet-org-admin). Peran ini tidak terikat ke namespace.
Membuat subnet cabang zonal untuk beban kerja
Untuk membagi lebih lanjut alamat IP di VPC Default zonal, Anda dapat membuat subnet internal zonal dari subnet root zonal yang ada di zona tersebut. Anda harus
membuat jenis subnet ini di namespace platform.
Jika subnet root zonal induk tidak memiliki cukup alamat IP yang tersedia, alokasikan subnet zonal lain dari rentang alamat IP global sebelum Anda melanjutkan.
Di jendela terminal, buat subnet zonal baru di server management API:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc name: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH networkSpec: enableGateway: true enableVLANID: false parentReference: name: PARENT_SUBNET_NAME namespace: platform type: Branch EOFGanti kode berikut:
MANAGEMENT_API_SERVER_KUBECONFIG: jalur ke file kubeconfig server API pengelolaan Anda. Untuk mengetahui informasi selengkapnya, lihat Resource server API pengelolaan zona.SUBNET_NAME: nama subnet jaringan baru Anda.CIDR_PREFIX_LENGTH: panjang awalan untuk subnet baru Anda, seperti27. Kolom ini mengalokasikan rentang alamat IP berikutnya yang tersedia dengan ukuran tersebut dari subnet induk secara dinamis. Gunakan kolomprefixLengthjika Anda hanya ingin mengetahui ukuran subnet, bukan rentang alamat IP tertentu.Untuk menetapkan rentang alamat IP tertentu, ikuti langkah-langkah berikut:
- Hapus baris
prefixLength: CIDR_PREFIX_LENGTH. - Tambahkan baris
cidr: "YOUR_CIDR_BLOCK"di tempatnya, seperticidr: "10.0.10.0/27".
Gunakan kolom
cidrjika Anda mengikuti rencana IP yang ketat dan perlu menetapkan rentang alamat IP yang presisi dan dapat diprediksi. Rentang ini harus berupa subnet yang valid dan tersedia dalam subnet induk.- Hapus baris
PARENT_SUBNET_NAME: nama subnet induk, sepertidefault-vpc-zone0-cidr. Subnet induk biasanya merupakan subnet root zonal di VPC Default.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API untuk resource
Subnet.Anda dapat terus membagi-bagi subnet zonal atau membuat subnet leaf untuk mengalokasikan alamat IP individual langsung ke beban kerja internal.
Membuat subnet leaf untuk workload individual
Untuk mengalokasikan satu alamat IP untuk workload, Anda harus membuat subnet leaf.
Subnet leaf ini harus memiliki nilai kolom type: Leaf dan harus berada di
namespace project yang sama dengan resource beban kerja Anda, seperti VM atau container.
Subnet leaf Anda harus dikonfigurasi dengan nilai prefixLength 32,
karena dimaksudkan untuk mengalokasikan satu alamat IP. Nilai parentReference
mereferensikan subnet yang dialokasikan sebelumnya, seperti subnet zonal induk
yang Anda buat di
Membuat subnet cabang zonal untuk workload.
Di jendela terminal, buat subnet leaf di server API pengelolaan:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: PARENT_NAMESPACE type: Leaf EOFGanti kode berikut:
MANAGEMENT_API_SERVER_KUBECONFIG: jalur ke file kubeconfig server API pengelolaan Anda. Untuk mengetahui informasi selengkapnya, lihat Resource server API pengelolaan zona.SUBNET_NAME: nama untuk subnet leaf.PROJECT_NAMESPACE: namespace project yang sesuai dengan project tempat workload Anda berada.PARENT_SUBNET: nama subnet induk tempat subnet leaf ini akan mendapatkan alamat IP-nya.PARENT_NAMESPACE: namespacePROJECT_NAMESPACEatauplatform.
Alamat IP individual Anda kini dapat digunakan oleh workload internal Anda, seperti VM dan container. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi alamat IP untuk workload Anda, lihat Membuat VM dengan alamat IP statis atau dinamis atau Mengonfigurasi load balancer internal untuk workload container.
Mengalokasikan subnet zona dari rentang alamat IP global
Jika zona Anda tidak menyediakan alamat IP yang cukup untuk workload dari rentang alamat IP subnet root zonal yang ada, Anda dapat mengalokasikan alamat IP tambahan dari rentang root alamat IP global.
Untuk mengalokasikan subnet zonal dari rentang alamat IP global, selesaikan langkah-langkah berikut untuk jaringan VPC Default di namespace platform:
Di jendela terminal, jelaskan semua subnet root VPC Default dan periksa blok CIDR yang tersedia:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeGanti
GLOBAL_API_SERVER_KUBECONFIGdengan jalur ke file kubeconfig server API global. Untuk mengetahui informasi selengkapnya, lihat Resource server API global. Label bersifat konstan dan harus tetap sama.Outputnya mirip dengan hal berikut ini:
Name: default-vpc-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=default-vpc-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/vpc=default-vpc Annotations: <none> API Version: ipam.global.gdc.goog/v1 Kind: Subnet Metadata: Creation Timestamp: 2025-06-18T23:05:38Z Finalizers: global-subnet-finalizer Generation: 1 Resource Version: 439434 UID: 5ed1c51a-b5ee-473e-a185-8e065a87ae8f Spec: ipv4Request: Cidr: 10.252.0.0/14 Propagation Strategy: None Type: Root Status: Children Refs: Name: default-vpc-zone1-root-cidr Namespace: platform Type: SingleSubnet Conditions: Last Transition Time: 2025-06-18T23:05:38Z Message: IP allocation finished successfully Observed Generation: 1 Reason: AllocationSucceeded Status: True Type: Ready ipv4Allocation: Available CIDRs: 10.254.0.0/15 10.253.0.0/16 Cidr: 10.252.0.0/14 Events: <none>Perhatikan nilai
Status.ipv4Allocation.Available CIDRs. Nilai ini adalah blok CIDR yang tersedia yang direferensikan oleh langkah berikutnya. Pada output sebelumnya, rentang CIDR10.254.0.0/15dan10.253.0.0/16tersedia. Output Anda mungkin menampilkan beberapa subnet. Catat semua blok CIDR yang tersedia dan subnet sumbernya.Bandingkan blok CIDR terbesar yang tersedia dari langkah sebelumnya dengan ukuran blok CIDR yang diperlukan untuk zona Anda. Jika blok CIDR terbesar yang tersedia tidak cukup besar untuk mengalokasikan subnet baru Anda, tambahkan subnet global rentang root jaringan baru sebelum Anda melanjutkan. Catat subnet induk tempat Anda memutuskan untuk mendapatkan blok CIDR untuk subnet baru.
Misalnya, jika Anda memerlukan blok CIDR
/13, tetapi CIDR yang tersedia hanya mencakup/15dan/16, Anda harus menambahkan subnet global rentang root jaringan baru. Jika memerlukan subnet/15, Anda dapat mengalokasikan subnet zona baru dari blok CIDR/15yang ada.Buat subnet baru di server API global:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<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: SUBNET_NAME namespace: platform 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_API_SERVER_KUBECONFIG: jalur ke file kubeconfig server API global. Untuk mengetahui informasi selengkapnya, lihat Resource server API global.SUBNET_NAME: nama subnet baru.CIDR_PREFIX_LENGTH: panjang awalan CIDR dari subnet baru yang dialokasikan secara dinamis, seperti20. Untuk menetapkan CIDR secara statis, ganti kolomprefixLengthdengan kolomcidr, lalu tetapkan blok CIDR, seperti10.0.10.0/27.ZONE_NAME: zona tempat subnet akan dialokasikan, sepertizone1.PARENT_SUBNET_NAME: nama subnet induk, sepertidefault-vpc-root-cidr, atau subnet global rentang root jaringan baru yang Anda buat.ORG_NAME: nama organisasi.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API untuk resource
Subnet.Verifikasi bahwa subnet sudah siap dan tersedia di server API global dengan memeriksa bahwa jenis status
Ready-nya adalahtrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'Outputnya mirip dengan hal berikut ini:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: ReadyVerifikasi bahwa subnet zonal dibuat di server API pengelolaan zonal, dan jenis status
Ready-nya adalahtrue:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'Ganti
MANAGEMENT_API_SERVER_KUBECONFIGdengan jalur ke file kubeconfig server API pengelolaan Anda. Untuk mengetahui informasi selengkapnya, lihat Resource server API pengelolaan zona.Outputnya mirip dengan hal berikut ini:
status: conditions: - lastTransitionTime: "2025-06-06T07:29:34Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: ReadyDari subnet zonal baru ini, Anda dapat membuat lebih banyak subnet turunan zonal atau mengalokasikan alamat IP individual langsung ke beban kerja internal.
Membagi subnet global root tanpa alokasi zona
Untuk membagi lebih lanjut subnet global tanpa mengalokasikannya ke zona, buat subnet global dan hilangkan strategi propagasi di resource kustom Subnet. Pendekatan ini berguna jika Anda ingin terus mengatur rentang alamat IP yang dapat diakses secara global dari subnet root global tanpa mengalokasikan alamat IP ke zona.
Untuk membagi subnet root global dalam cakupan global, selesaikan langkah-langkah berikut di namespace platform:
Di jendela terminal, jelaskan semua subnet root VPC Default dan periksa blok CIDR yang tersedia:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ -l ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=network-root-rangeGanti
GLOBAL_API_SERVER_KUBECONFIGdengan jalur ke file kubeconfig server API global. Untuk mengetahui informasi selengkapnya, lihat Resource server API global. Label bersifat konstan dan harus tetap sama.Outputnya mirip dengan hal berikut ini:
Name: default-vpc-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=default-vpc-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/vpc=default-vpc Annotations: <none> API Version: ipam.global.gdc.goog/v1 Kind: Subnet Metadata: Creation Timestamp: 2025-06-18T23:05:38Z Finalizers: global-subnet-finalizer Generation: 1 Resource Version: 439434 UID: 5ed1c51a-b5ee-473e-a185-8e065a87ae8f Spec: ipv4Request: Cidr: 10.252.0.0/14 Propagation Strategy: None Type: Root Status: Children Refs: Name: default-vpc-zone1-root-cidr Namespace: platform Type: SingleSubnet Conditions: Last Transition Time: 2025-06-18T23:05:38Z Message: IP allocation finished successfully Observed Generation: 1 Reason: AllocationSucceeded Status: True Type: Ready ipv4Allocation: Available CIDRs: 10.254.0.0/15 10.253.0.0/16 Cidr: 10.252.0.0/14 Events: <none>Perhatikan nilai
Status.ipv4Allocation.Available CIDRs. Nilai ini adalah blok CIDR yang tersedia yang direferensikan oleh langkah berikutnya. Pada output sebelumnya, rentang CIDR10.254.0.0/15dan10.253.0.0/16tersedia. Mungkin ada beberapa subnet dalam output Anda, bergantung pada jumlah subnet root yang Anda miliki. Jadi, catat semua blok CIDR yang tersedia, dan catat dari subnet mana blok CIDR yang tersedia berasal.Bandingkan blok CIDR terbesar yang tersedia dari langkah sebelumnya dengan ukuran blok CIDR yang diperlukan untuk subnet global baru Anda. Jika blok CIDR terbesar yang tersedia tidak cukup besar untuk mengalokasikan subnet baru Anda, tambahkan subnet global rentang root jaringan baru sebelum Anda melanjutkan. Catat subnet induk tempat Anda memutuskan untuk mendapatkan blok CIDR untuk subnet baru.
Misalnya, jika Anda memerlukan blok CIDR
/13, tetapi CIDR yang tersedia hanya mencakup/15dan/16, Anda harus membuat subnet global rentang root jaringan baru. Jika memerlukan subnet/15, Anda dapat mengalokasikan subnet global baru dari blok CIDR/15yang ada.Buat subnet baru di server API global:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<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: SUBNET_NAME namespace: platform spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH propagationStrategy: None type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOFGanti kode berikut:
GLOBAL_API_SERVER_KUBECONFIG: jalur ke file kubeconfig server API global. Untuk mengetahui informasi selengkapnya, lihat Resource server API global.SUBNET_NAME: nama subnet baru.CIDR_PREFIX_LENGTH: panjang awalan CIDR dari subnet baru yang dialokasikan secara dinamis, seperti20. Untuk menetapkan CIDR secara statis, ganti kolomprefixLengthdengan kolomcidr, lalu tetapkan blok CIDR, seperti10.0.10.0/27.PARENT_SUBNET_NAME: nama subnet induk, sepertidefault-vpc-root-cidr, atau subnet global rentang root jaringan baru yang Anda buat.ORG_NAME: nama organisasi.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API untuk resource
Subnetglobal.Verifikasi bahwa subnet sudah siap dan tersedia di server API global dengan memeriksa bahwa jenis status
Ready-nya adalahtrue:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG get subnet --namespace platform \ SUBNET_NAME --output jsonpath='{.status.conditions[?(@.type=="Ready")].status}'Outputnya mirip dengan hal berikut ini:
status: conditions: - lastTransitionTime: "2025-06-06T07:28:48Z" message: IP allocation finished successfully observedGeneration: 1 reason: AllocationSucceeded status: "True" type: Ready
Subnet global baru untuk organisasi Anda di VPC Default sudah tersedia. Anda dapat membuat subnet untuk zona tertentu dari subnet induk global baru ini.
Menambahkan subnet global rentang root jaringan baru
Subnet global dengan label ipam.gdc.goog/usage: network-root-range menghosting
CIDR untuk semua zona jaringan. Jika CIDR habis, Anda harus membuat subnet rentang root jaringan baru di server API global. Anda dapat membuat
beberapa subnet global root, jika diperlukan.
Untuk membuat subnet rentang root jaringan baru, selesaikan langkah-langkah berikut:
Di jendela terminal, buat subnet global rentang root jaringan baru untuk VPC Default di namespace
platform:kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: default-vpc ipam.gdc.goog/usage: network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: cidr: NEW_CIDR type: Root EOFGanti kode berikut:
GLOBAL_API_SERVER_KUBECONFIG: jalur ke file kubeconfig server API global. Untuk mengetahui informasi selengkapnya, lihat Resource server API global.SUBNET_NAME: nama subnet baru.NEW_CIDR: CIDR baru untuk subnet. CIDR ini tidak boleh tumpang-tindih dengan CIDR apa pun di semua subnet yang ada dengan labelipam.gdc.goog/usage: network-root-rangedi server API global yang sama.
Subnet rentang root global baru ini dapat dibagi dalam server API global atau dialokasikan ke zona tertentu.
Langkah berikutnya
- Subnet dan alamat IP
- Ringkasan jaringan
- Men-deploy aplikasi VM dengan ketersediaan tinggi
- Men-deploy aplikasi container yang sangat tersedia