Halaman ini memandu Anda cara membuat subnet global di Google Distributed Cloud (GDC) yang terisolasi dan menggunakan subnet tersebut untuk load balancer eksternal (ELB).
Subnet global memungkinkan Anda mengonfigurasi subnet yang dapat menggunakan operasi load balancing eksternal di beberapa zona dalam organisasi GDC Anda. Load balancing memberikan manfaat peningkatan performa, keandalan, dan ketersediaan aplikasi dan layanan dengan mendistribusikan traffic jaringan ke beberapa server. Untuk mengetahui informasi selengkapnya tentang subnet global untuk load balancing, lihat Tentang subnet untuk load balancing.
Halaman ini ditujukan bagi developer dalam grup operator aplikasi yang ingin mengelola load balancing untuk organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Audiens untuk GDC yang terisolasi dari internet.
Sebelum memulai
Untuk membuat subnet global dan mengonfigurasinya untuk ELB, Anda harus memiliki berikut ini:
- Memiliki project yang Anda konfigurasi load balancernya. Untuk mengetahui informasi selengkapnya, lihat Membuat project.
Peran akses dan identitas yang diperlukan:
- Minta Admin IAM Organisasi Anda untuk memberi Anda peran Load Balancer Admin (
load-balancer-admin
). - Minta Admin IAM Organisasi Anda untuk memberi Anda peran Global Load Balancer Admin (
global-load-balancer-admin
). - Minta Admin IAM Organisasi Anda untuk memberi Anda peran Subnet Organization Admin (
subnet-org-admin
). - Minta Admin IAM Organisasi Anda untuk memberi Anda peran Subnet Project Admin (
subnet-project-admin
).
Untuk mengetahui informasi selengkapnya, lihat Deskripsi peran standar.
- Minta Admin IAM Organisasi Anda untuk memberi Anda peran Load Balancer Admin (
Membuat subnet global induk
Subnet global induk yang Anda buat di bagian ini berfungsi sebagai kumpulan alamat IP tempat alamat IP ELB Anda berasal. Subnet harus
menyertakan label ipam.gdc.goog/network-segment: data
. Anda dapat menentukan induk subnet menggunakan kolom spec.parentReference.name
.
Anda memiliki dua opsi untuk mengonfigurasi CIDR untuk subnet induk ini:
- Membuat subnet menggunakan konfigurasi CIDR statis
- Membuat subnet menggunakan konfigurasi CIDR dinamis
Untuk mengetahui informasi selengkapnya tentang perbedaan antara konfigurasi CIDR statis dan dinamis, lihat Konfigurasi CIDR statis dan dinamis.
Membuat subnet menggunakan konfigurasi CIDR statis
Gunakan konfigurasi CIDR statis jika Anda memerlukan kontrol yang tepat atas ruang alamat IP.
Subnet ini memiliki jenis Branch
. Untuk mengetahui informasi selengkapnya tentang jenis subnet root, cabang, dan leaf, lihat Hierarki subnet.
Untuk membuat subnet induk global dengan konfigurasi CIDR statis, tambahkan blok CIDR yang Anda pilih ke kolom spec.ipv4Request.cidr
:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/network-segment: data
name: ELB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
cidr: STATIC_CIDR
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Ganti kode berikut:
GLOBAL_API_SERVER
: jalur kubeconfig server API pengelolaan global. Untuk mengetahui informasi selengkapnya, lihat Server API global dan per zona. Jika Anda belum membuat file kubeconfig untuk server API, lihat Login untuk mengetahui detailnya.ELB_PARENT_SUBNET_NAME
: nama yang dipilih untuk subnet induk global Anda untuk ELB.STATIC_CIDR
: blok CIDR tertentu yang ingin Anda alokasikan untuk subnet induk ini, seperti10.0.10.0/27
.PARENT_NAME
: nama subnet induk yang ada tempat subnet baru ini dibuat.
Untuk mengonfigurasi subnet ini agar berfungsi dengan ELB, Anda harus membuat subnet leaf untuk ELB.
Membuat subnet menggunakan konfigurasi CIDR dinamis
Konfigurasi CIDR dinamis secara otomatis mengalokasikan blok CIDR yang tersedia
dengan ukuran tertentu dari subnet induk. Hal ini menyederhanakan pengelolaan alamat IP, terutama di lingkungan yang lebih besar.
Subnet ini memiliki jenis Branch
. Untuk mengetahui informasi selengkapnya tentang jenis subnet root, cabang, dan leaf, lihat Hierarki subnet.
Untuk membuat subnet induk global dengan CIDR dinamis, konfigurasi kolom
spec.ipv4Request.prefixLength
dengan panjang awalan yang dipilih:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
piVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/network-segment: data
name: ELB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
prefixLength: PREFIX_LENGTH
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Ganti kode berikut:
ELB_PARENT_SUBNET_NAME
: nama yang Anda pilih untuk subnet induk ELB, sepertilb-global-lancer-elb-subnet
.STATIC_CIDR
: blok CIDR tertentu yang ingin Anda gunakan, seperti10.0.10.0/27
. Variabel ini hanya berlaku untuk konfigurasi CIDR statis.PARENT_NAME
: nama subnet induk yang ada tempat subnet baru ini dibuat, sepertidefault-vpc-workload-cidr
.PREFIX_LENGTH
: panjang awalan yang dipilih untuk CIDR yang dialokasikan secara dinamis, seperti27
. Variabel ini hanya berlaku untuk konfigurasi CIDR dinamis.
Untuk mengonfigurasi subnet ini agar berfungsi dengan ELB, Anda harus membuat subnet leaf untuk ELB.
Buat subnet leaf untuk ELB
Setelah menyiapkan subnet induk global, Anda harus membuat subnet leaf untuk mengalokasikan satu alamat IP untuk layanan ELB global. Subnet leaf ini harus memiliki nilai kolom type
Leaf
dan harus berada di namespace project yang sama dengan resource load balancer Anda, seperti ForwardingRule
, BackendService
, dan Backend
.
Untuk membuat subnet leaf dan menautkannya ke ELB, ikuti langkah-langkah berikut:
Buat subnet leaf dengan nilai
prefixLength
sebesar32
, karena subnet ini dimaksudkan untuk mengalokasikan satu alamat IP. NilaiparentReference
mereferensikan subnet global induk yang dibuat sebelumnya:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/allocation-preference: default ipam.gdc.goog/network-segment: data name: ELB_IP_SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_REF namespace: platform type: Leaf EOF
Ganti kode berikut:
ELB_IP_SUBNET_NAME
: nama yang Anda pilih untuk subnet leaf, sepertilb-project-elb-ip
.PROJECT_NAMESPACE
: namespace Kubernetes yang sesuai dengan project tempat objek ELB Anda berada, misalnya,lb-project
.PARENT_REF
: nama subnet induk yang menjadi sumber alamat IP subnet daun ini, seperti subnet global induk yang Anda buat sebelumnya.
Hubungkan subnet leaf yang baru dibuat, yang menyimpan alamat IP yang dialokasikan, dengan resource
ForwardingRuleExternal
ELB Anda. Di resourceForwardingRuleExternal
, perbarui kolomspec.cidrRef.name
untuk mereferensikan nama subnet leaf yang Anda buat di langkah sebelumnya:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ForwardingRuleExternal metadata: name: FRI_NAME namespace: PROJECT_NAMESPACE spec: ports: - port: PORT protocol: PROTOCOL backendServiceRef: name: BES_NAME cidrRef: name: LEAF_SUBNET_NAME EOF
Ganti kode berikut:
FRI_NAME
: nama yang Anda pilih untuk objekForwardingRuleExternal
, sepertinginx-elb-static-fr
.PORT
: nomor port tempat ELB Anda memproses traffic masuk seperti80
.PROTOCOL
: protokol jaringan yang digunakan ELB Anda, sepertiTCP
atauUDP
.BES_NAME
: namaBackendService
yang terkait dengan resourceForwardingRuleExternal
ini, sepertinginx-bes
.LEAF_SUBNET_NAME
: nama subnet leaf yang Anda buat di langkah sebelumnya, sepertilb-project-elb-ip
.