Halaman ini menjelaskan cara membuat subnet tambahan di Segmen Jaringan Data organisasi Anda untuk mendukung persyaratan jaringan eksternal Anda. Anda harus menambahkan subnet untuk memastikan layanan eksternal Anda, seperti terjemahan alamat jaringan keluar (NAT) dan load balancer eksternal, memiliki jumlah alamat IP yang cukup untuk mendukung persyaratan jaringan mereka dalam terhubung ke jaringan eksternal di luar organisasi Anda.
Ada beberapa tugas yang diuraikan di halaman ini, yang tidak dimaksudkan untuk diselesaikan secara berurutan:
- Buat subnet cabang zona untuk layanan eksternal: Tugas ini berguna untuk mengatur atau mengalokasikan lebih lanjut alamat IP eksternal zona yang ada ke layanan.
- Buat subnet leaf untuk layanan individual: Tugas ini berguna saat Anda memiliki layanan baru yang belum memiliki alamat IP untuk digunakan.
- Mengalokasikan subnet zonal dari rentang alamat IP global: Tugas ini berguna saat zona Anda tidak lagi memiliki ruang alamat IP eksternal yang cukup.
- Membagi subnet global root tanpa alokasi zona: Tugas ini berguna untuk mengatur lebih lanjut alamat IP eksternal di server API global sebelum mengalokasikannya ke zona.
- Tambahkan subnet global rentang root jaringan baru: Tugas ini berguna jika Segmen Jaringan Data Anda tidak lagi memiliki ruang alamat IP eksternal global yang cukup untuk dialokasikan ke zona Anda.
Untuk mengetahui ringkasan subnet dan konsepnya sebelum Anda menyelesaikan tugas di halaman ini, lihat Subnet dan alamat IP.
Halaman ini ditujukan bagi administrator jaringan dalam grup administrator platform dan developer aplikasi dalam grup 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 Organization Admin (subnet-org-admin
). Peran ini tidak terikat ke namespace.
Membuat subnet cabang zonal untuk layanan eksternal
Anda dapat membuat subnet eksternal zonal dari subnet root zonal yang ada di zona untuk membagi lebih lanjut alamat IP di Segmen Jaringan Data zonal Anda. Anda
harus membuat jenis subnet ini di namespace platform
. Jika
subnet root zonal induk tidak memiliki alamat IP yang cukup, alokasikan subnet zonal lain dari rentang alamat IP global terlebih dahulu, lalu kembali ke prosedur ini.
Di jendela terminal, buat subnet eksternal baru di server API pengelolaan zonal:
kubectl -kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f - <<EOF apiVersion: ipam.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data 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 EOF
Ganti 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 CIDR dari subnet baru yang dialokasikan secara dinamis, seperti20
. Untuk menetapkan CIDR secara statis, ganti kolomprefixLength
dengan kolomcidr
, lalu tetapkan blok CIDR, seperti10.0.10.0/27
.PARENT_SUBNET_NAME
: nama subnet induk, sepertidata-external-zone0-cidr
. Subnet induk biasanya merupakan subnet root zonal di Segmen Jaringan Data.
Lihat dokumentasi referensi API untuk resource
Subnet
untuk mengetahui informasi selengkapnya.Anda dapat terus membagi subnet zonal, atau membuat subnet leaf untuk mengalokasikan alamat IP individual langsung ke layanan eksternal.
Membuat subnet leaf untuk layanan individual
Anda harus membuat subnet leaf untuk mengalokasikan satu alamat IP untuk layanan Anda.
Subnet leaf ini harus memiliki nilai kolom type: Leaf
dan harus berada di
namespace project yang sama dengan layanan eksternal Anda, seperti load balancer
eksternal atau NAT keluar.
Subnet leaf Anda harus dikonfigurasi dengan nilai prefixLength
sebesar 32
, karena
dimaksudkan untuk mengalokasikan satu alamat IP. Nilai parentReference
mereferensikan subnet yang dialokasikan sebelumnya, seperti subnet cabang zona induk yang Anda buat di Membuat subnet cabang zona 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/allocation-preference: default ipam.gdc.goog/network-segment: data name: SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_SUBNET namespace: platform type: Leaf EOF
Ganti 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 layanan Anda berada.PARENT_SUBNET
: nama subnet induk yang akan menjadi sumber alamat IP subnet leaf ini.
Alamat IP individual Anda kini dapat digunakan oleh layanan eksternal Anda. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi alamat IP untuk layanan Anda, lihat dokumentasi layanan yang sesuai, seperti Mengonfigurasi load balancer eksternal.
Mengalokasikan subnet zona dari rentang alamat IP global
Jika zona Anda tidak menyediakan alamat IP yang cukup untuk layanan eksternal Anda dari rentang alamat IP subnet root zonal yang ada, Anda dapat mengalokasikan alamat IP tambahan dari rentang root alamat IP global.
Selesaikan langkah-langkah berikut untuk Segmen Jaringan Data di namespace platform
:
Di jendela terminal, deskripsikan semua subnet root Segmen Jaringan Data dan periksa CIDR yang tersedia:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ --label ipam.gdc.goog/network-segment=data,ipam.gdc.goog/usage=network-root-range
Ganti
GLOBAL_API_SERVER_KUBECONFIG
dengan 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: data-external-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=data-external-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/network-segment=data 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: data-external-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>
Catat nilai
Status.ipv4Allocation.Available CIDRs
sebagai CIDR yang tersedia, yang akan dirujuk pada langkah berikutnya. Pada output sebelumnya, rentang CIDR10.254.0.0/15
dan10.253.0.0/16
tersedia. Mungkin ada beberapa subnet dalam output Anda, bergantung pada jumlah subnet root yang Anda miliki. Jadi, catat semua CIDR yang tersedia, dan catat dari subnet mana CIDR yang tersedia berasal.Bandingkan CIDR terbesar yang tersedia yang Anda catat dari langkah sebelumnya dengan ukuran CIDR yang perlu Anda alokasikan ke zona Anda. Jika CIDR terbesar yang tersedia tidak cukup besar untuk mengalokasikan subnet baru Anda, tambahkan subnet global rentang root jaringan baru sebelum Anda melanjutkan. Perhatikan subnet induk tempat Anda memutuskan untuk mendapatkan CIDR untuk subnet baru Anda.
Misalnya, jika Anda memerlukan CIDR
/13
, tetapi CIDR yang tersedia hanya mencakup/15
dan/16
, Anda harus membuat subnet global rentang root jaringan baru. Jika memerlukan subnet/15
, Anda dapat mengalokasikan subnet zona baru dari CIDR/15
yang 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/network-segment: data 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 EOF
Ganti 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 kolomprefixLength
dengan kolomcidr
, lalu tetapkan blok CIDR, seperti10.0.10.0/27
.ZONE_NAME
: zona tempat mengalokasikan subnet, sepertizone1
.PARENT_SUBNET_NAME
: nama subnet induk, sepertidata-external-root-cidr
, atau rentang root jaringan baru subnet global yang Anda buat.ORG_NAME
: nama organisasi.
Lihat dokumentasi referensi API untuk resource
Subnet
global untuk mengetahui informasi selengkapnya.Verifikasi bahwa subnet 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
Verifikasi 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_KUBECONFIG
dengan 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: Ready
Dari subnet zonal baru ini, Anda dapat membuat lebih banyak subnet turunan zonal atau mengalokasikan alamat IP individual langsung ke layanan eksternal.
Membagi subnet global root tanpa alokasi zona
Jika Anda ingin terus mengatur rentang alamat IP yang dapat diakses secara global dari subnet root global tanpa mengalokasikan alamat IP ke layanan eksternal zonal, buat subnet global dan jangan tentukan strategi propagasi di resource kustom Subnet
.
Selesaikan langkah-langkah berikut di namespace platform
untuk membagi subnet root global dalam cakupan global saja:
Di jendela terminal, deskripsikan semua subnet root Segmen Jaringan Data dan periksa CIDR yang tersedia:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG describe subnets --namespace platform \ --label ipam.gdc.goog/network-segment=data,ipam.gdc.goog/usage=network-root-range
Ganti
GLOBAL_API_SERVER_KUBECONFIG
dengan 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: data-external-root-cidr Namespace: platform Labels: ipam.gdc.goog/allocation-preference=default ipam.gdc.goog/subnet-group=data-external-root-group ipam.gdc.goog/usage=network-root-range ipam.gdc.goog/network-segment=data 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: data-external-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>
Catat nilai
Status.ipv4Allocation.Available CIDRs
sebagai CIDR yang tersedia, yang akan dirujuk pada langkah berikutnya. Pada output sebelumnya, rentang CIDR10.254.0.0/15
dan10.253.0.0/16
tersedia. Mungkin ada beberapa subnet dalam output Anda, bergantung pada jumlah subnet root yang Anda miliki. Jadi, catat semua CIDR yang tersedia, dan catat dari subnet mana CIDR yang tersedia berasal.Bandingkan CIDR terbesar yang tersedia yang Anda catat dari langkah sebelumnya dengan ukuran CIDR yang perlu Anda alokasikan ke subnet global baru. Jika CIDR terbesar yang tersedia tidak cukup besar untuk mengalokasikan subnet baru Anda, tambahkan subnet global rentang root jaringan baru sebelum Anda melanjutkan. Perhatikan subnet induk tempat Anda memutuskan untuk mendapatkan CIDR untuk subnet baru Anda.
Misalnya, jika Anda memerlukan CIDR
/13
, tetapi CIDR yang tersedia hanya mencakup/15
dan/16
, Anda harus membuat subnet global rentang root jaringan baru. Jika memerlukan subnet/15
, Anda dapat mengalokasikan subnet global baru dari CIDR/15
yang 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/network-segment: data 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 EOF
Ganti 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 kolomprefixLength
dengan kolomcidr
, lalu tetapkan blok CIDR, seperti10.0.10.0/27
.PARENT_SUBNET_NAME
: nama subnet induk, sepertidata-external-root-cidr
, atau subnet global rentang root jaringan baru yang Anda buat.ORG_NAME
: nama organisasi.
Lihat dokumentasi referensi API untuk resource
Subnet
global untuk mengetahui informasi selengkapnya.Verifikasi bahwa subnet 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 Segmen Jaringan Data 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 Segmen Jaringan Data 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/network-segment: data ipam.gdc.goog/usage: network-root-range name: SUBNET_NAME namespace: platform spec: ipv4Request: cidr: NEW_CIDR type: Root EOF
Ganti 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-range
di server API global yang sama.
Subnet rentang root global baru ini dapat dibagi lagi dalam server API global atau dialokasikan ke zona tertentu.