Halaman ini menjelaskan fitur jaringan Google Distributed Cloud Connected, termasuk subnetwork, sesi peering BGP, dan load balancing.
Prosedur di halaman ini hanya berlaku untuk rak yang terhubung ke Distributed Cloud, kecuali load balancing, yang berlaku untuk rak yang terhubung ke Distributed Cloud dan server yang terhubung ke Distributed Cloud.
Aktifkan Distributed Cloud Edge Network API
Sebelum dapat mengonfigurasi jaringan pada deployment Distributed Cloud yang terhubung, Anda harus mengaktifkan Distributed Cloud Edge Network API. Untuk melakukannya, selesaikan langkah-langkah di bagian ini. Secara default, server Distributed Cloud terhubung dikirimkan dengan Distributed Cloud Edge Network API yang sudah diaktifkan.
Konsol
Di konsol Google Cloud , buka halaman Distributed Cloud Edge Network API.
Klik Enable.
gcloud
Gunakan perintah berikut:
gcloud services enable edgenetwork.googleapis.com
Mengonfigurasi jaringan di Distributed Cloud terhubung
Bagian ini menjelaskan cara mengonfigurasi komponen jaringan pada deployment yang terhubung ke Distributed Cloud Anda.
Batasan berikut berlaku untuk server yang terhubung ke Distributed Cloud:
- Anda hanya dapat mengonfigurasi subnetwork, dan
- Subnetwork hanya mendukung ID VLAN; subnetwork berbasis CIDR tidak didukung.
Konfigurasi jaringan umum untuk Distributed Cloud yang terhubung terdiri dari langkah-langkah berikut:
Opsional: Lakukan inisialisasi konfigurasi jaringan zona target, jika perlu.
Membuat jaringan.
Buat satu atau beberapa subnetwork dalam jaringan.
Buat sesi peering BGP northbound dengan router PE menggunakan lampiran Interconnect yang sesuai.
Buat sesi peering BGP southbound dengan Pod yang menjalankan beban kerja Anda menggunakan subnetwork yang sesuai.
Opsional: Buat sesi peering BGP loopback untuk ketersediaan tinggi.
Uji konfigurasi Anda.
Hubungkan Pod ke jaringan.
Opsional: Lakukan inisialisasi konfigurasi jaringan zona Distributed Cloud
Anda harus menginisialisasi konfigurasi jaringan zona terhubung Distributed Cloud dalam kasus berikut:
- Segera setelah hardware yang terhubung ke Distributed Cloud Anda dipasang di lokasi Anda.
- Anda mengupgrade ke Distributed Cloud terhubung versi 1.3.0 atau yang lebih baru pada deployment Distributed Cloud terhubung yang ada, tetapi tidak berpartisipasi dalam pratinjau pribadi Distributed Cloud Edge Network API.
Menginisialisasi konfigurasi jaringan zona akan membuat router default bernama
default dan jaringan default bernama default. Selain itu, router default dikonfigurasi untuk melakukan peering dengan semua interkoneksi yang Anda minta saat Anda memesan hardware yang terhubung ke Distributed Cloud dengan membuat lampiran interkoneksi yang sesuai. Konfigurasi ini menyediakan konektivitas uplink dasar untuk deployment yang terhubung ke Distributed Cloud ke jaringan lokal Anda.
Menginisialisasi konfigurasi jaringan zona adalah prosedur sekali saja. Untuk petunjuk lengkap, lihat Melakukan inisialisasi konfigurasi jaringan zona.
Membuat jaringan
Untuk membuat jaringan baru, ikuti petunjuk di Membuat jaringan. Anda juga harus membuat setidaknya satu subnetwork dalam jaringan untuk mengizinkan node yang terhubung ke Distributed Cloud terhubung ke jaringan.
Buat satu atau beberapa subnetwork
Untuk membuat subnetwork, ikuti petunjuk dalam Membuat subnetwork. Anda harus membuat setidaknya satu subnetwork di jaringan untuk mengizinkan node mengakses jaringan. VLAN yang sesuai dengan setiap subnetwork yang Anda buat akan otomatis tersedia untuk semua node di zona.
Untuk server yang terhubung ke Distributed Cloud, Anda hanya dapat mengonfigurasi subnet menggunakan ID VLAN. Subnetwork berbasis CIDR tidak didukung.
Membuat sesi peering BGP ke utara
Saat Anda membuat jaringan dan sub-jaringannya yang sesuai, keduanya bersifat lokal untuk zona yang terhubung dengan Distributed Cloud. Untuk mengaktifkan konektivitas keluar, Anda harus membuat setidaknya satu sesi peering BGP ke utara antara jaringan dan router edge peering Anda.
Untuk membuat sesi peering BGP northbound, lakukan hal berikut:
Buat daftar interkoneksi yang tersedia di zona Anda lalu pilih interkoneksi target untuk sesi peering ini.
Buat satu atau beberapa lampiran interkoneksi pada interkoneksi yang dipilih. Lampiran Interconnect menautkan router yang Anda buat pada langkah berikutnya dengan interconnect yang dipilih.
Buat router. Router ini merutekan traffic antara interkoneksi dan jaringan Anda menggunakan lampiran interkoneksi yang Anda buat pada langkah sebelumnya.
Tambahkan antarmuka ke router untuk setiap lampiran interconnect yang Anda buat sebelumnya dalam prosedur ini. Untuk setiap antarmuka, gunakan alamat IP switch top-of-rack (ToR) yang sesuai di rak yang terhubung ke Distributed Cloud Anda. Untuk mengetahui petunjuknya, lihat Membangun sesi peering utara.
Tambahkan peer untuk setiap antarmuka yang Anda buat di router pada langkah sebelumnya.
Membuat sesi peering BGP southbound
Untuk mengaktifkan konektivitas inbound ke workload dari jaringan lokal, Anda harus membuat satu atau beberapa sesi peering BGP southbound antara router edge peering dan subnetwork tempat Pod Anda berada. Alamat IP gateway untuk setiap subnetwork adalah alamat IP switch ToR yang sesuai di rack yang terhubung ke Distributed Cloud Anda.
Untuk membuat sesi peering BGP southbound, lakukan hal berikut:
Tambahkan antarmuka ke router di jaringan target untuk setiap subnetwork yang ingin Anda sediakan dengan konektivitas masuk. Untuk mengetahui petunjuknya, lihat Membuat sesi peering southbound.
Tambahkan peer untuk setiap antarmuka yang Anda buat di router pada langkah sebelumnya.
Opsional: Buat sesi peering BGP loopback
Untuk mengaktifkan konektivitas dengan ketersediaan tinggi antara beban kerja dan jaringan lokal, Anda dapat membuat sesi peering BGP loopback antara Pod target dan kedua switch ToR di rak yang terhubung ke Distributed Cloud. Sesi peering loopback membuat dua sesi peering independen untuk Pod, satu dengan setiap switch ToR.
Untuk membuat sesi peering BGP loopback, lakukan hal berikut:
Tambahkan antarmuka loopback ke router di jaringan target. Untuk mengetahui petunjuknya, lihat Membuat sesi peering loopback.
Tambahkan peer untuk antarmuka loopback.
Menguji konfigurasi Anda
Untuk menguji konfigurasi komponen jaringan yang Anda buat, lakukan langkah-langkah berikut:
Menghubungkan Pod ke jaringan
Untuk menghubungkan Pod ke jaringan dan mengonfigurasi fungsi jaringan lanjutan, ikuti petunjuk di Operator Fungsi Jaringan.
Load balancing
Distributed Cloud dilengkapi dengan solusi load balancing jaringan yang dibundel berdasarkan MetalLB dalam mode Layer 2. Anda dapat menggunakan solusi ini untuk mengekspos layanan yang berjalan di zona Distributed Cloud Anda ke dunia luar menggunakan alamat IP virtual (VIP) sebagai berikut:
- Administrator jaringan Anda merencanakan topologi jaringan dan menentukan
subnet alamat IPv4 virtual yang diperlukan saat memesan
Distributed Cloud. Google mengonfigurasi hardware Distributed Cloud Anda sesuai dengan pesanan sebelum pengiriman.
Perhatikan hal-hal berikut:
- Subnetwork VIP ini dibagikan di antara semua cluster Kubernetes yang berjalan dalam zona Distributed Cloud Anda.
- Rute untuk subnetwork VIP yang diminta diiklankan melalui sesi BGP antara zona Distributed Cloud dan jaringan lokal Anda.
- Alamat pertama (ID jaringan), kedua (gateway default), dan terakhir (alamat siaran) di subnetwork dicadangkan untuk fungsi sistem inti. Jangan tetapkan alamat tersebut ke kumpulan alamat konfigurasi MetalLB Anda.
- Setiap cluster harus menggunakan rentang VIP terpisah yang berada dalam subnetwork VIP yang dikonfigurasi.
- Saat Anda membuat cluster di zona Distributed Cloud, administrator cluster Anda menentukan kumpulan alamat Pod dan Layanan ClusterIP menggunakan notasi CIDR. Administrator jaringan Anda memberikan subnetwork VIP
LoadBalanceryang sesuai kepada administrator cluster Anda. Setelah cluster dibuat, administrator cluster akan mengonfigurasi kumpulan VIP yang sesuai. Untuk cluster panel kontrol jarak jauh, Anda harus mengedit
metallb-configConfigMap di namespacemetallb-systemmenggunakan perintahkubectl editataukubectl replace. Jangan gunakan perintahkubectl applykarena Distributed Cloud akan mengganti perubahan Anda jika Anda melakukannya.Contoh berikut mengilustrasikan konfigurasi tersebut:
# metallb-config.yaml apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: metallb-config data: config: | address-pools: - name: default protocol: layer2 addresses: - 192.168.1.2-192.168.1.254Untuk cluster bidang kontrol lokal, Anda harus menentukan kumpulan VIP menggunakan flag
--external-lb-ipv4-address-poolssaat membuat cluster. Untuk mengetahui informasi selengkapnya, lihat Mode survivability.Administrator cluster membuat Layanan
LoadBalancerKubernetes yang sesuai.
Node Distributed Cloud dalam satu node pool berbagi domain Layer 2 yang sama dan oleh karena itu juga merupakan node load balancer MetalLB. Node bidang kontrol Distributed Cloud yang berjalan di Google Cloud tidak berfungsi sebagai node load balancer.
Traffic masuk Distributed Cloud
Selain load balancing, Distributed Cloud Connected juga mendukung resource Ingress Kubernetes. Resource Ingress Kubernetes
mengontrol aliran traffic HTTP(S) ke Layanan Kubernetes yang berjalan di cluster yang terhubung ke Distributed Cloud Anda. Contoh berikut
mengilustrasikan resource Ingress umum:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- http:
paths:
- backend:
service:
name: my-service
port:
number: 80
path: /foo
pathType: Prefix
Jika dikonfigurasi, traffic jaringan akan mengalir melalui istio-ingress Service,
yang secara default diberi alamat IP acak dari kumpulan VIP yang ditentukan
dalam konfigurasi MetalLB Anda. Anda dapat memilih alamat IP tertentu atau alamat IP virtual dari konfigurasi MetalLB menggunakan kolom loadBalancerIP dalam definisi Layanan istio-ingress. Contoh:
apiVersion: v1
kind: Service
metadata:
labels:
istio: ingress-gke-system
release: istio
name: istio-ingress
namespace: gke-system
spec:
loadBalancerIP: <targetLoadBalancerIPaddress>
Fungsi ini tidak tersedia di server yang terhubung ke Distributed Cloud.
Menonaktifkan resource Distributed Cloud Ingress default
Secara default, saat Anda membuat cluster yang terhubung ke Distributed Cloud, Distributed Cloud akan otomatis mengonfigurasi istio-ingress Service untuk cluster. Anda memiliki opsi untuk membuat cluster yang terhubung ke Distributed Cloud tanpa istio-ingress Service. Caranya, selesaikan langkah-langkah berikut:
gcloud
Buat file konfigurasi YAML bernama
SystemsAddonConfig.yamldengan isi berikut:systemAddonsConfig: ingress: disabled: true
Teruskan file
SystemsAddonConfig.yamlmenggunakan flag--system-addons-configdalam perintah pembuatan cluster Anda. Anda harus menggunakan versigcloud alphauntuk menggunakan fitur ini. Contoh:gcloud alpha edge-cloud container clusters create MyGDCECluster1 --location us-west1 \ --system-addons-config=SystemsAddonConfig.yamlUntuk mengetahui informasi selengkapnya tentang cara membuat cluster Distributed Cloud, lihat Membuat cluster.
API
Tambahkan konten JSON berikut ke payload JSON dalam permintaan pembuatan cluster Anda:
"systemAddonConfig" { "ingress" { "disabled": true } }Kirimkan permintaan pembuatan cluster seperti yang dijelaskan dalam Membuat cluster.
Dukungan SCTP
Distributed Cloud Connected mendukung Stream Control Transmission
Protocol (SCTP) di antarmuka jaringan utama untuk jaringan
internal dan eksternal. Dukungan SCTP mencakup jenis Layanan NodePort, LoadBalancer, dan ClusterIP. Pod dapat menggunakan SCTP untuk berkomunikasi dengan Pod lain dan resource eksternal. Contoh berikut mengilustrasikan cara mengonfigurasi IPERF sebagai Layanan ClusterIP menggunakan SCTP:
apiVersion: v1
kind: Pod
metadata:
name: iperf3-sctp-server-client
labels:
app.kubernetes.io/name: iperf3-sctp-server-client
spec:
containers:
- name: iperf3-sctp-server
args: ['-s', '-p 31390']
ports:
- containerPort: 31390
protocol: SCTP
name: server-sctp
- name: iperf3-sctp-client
...
---
apiVersion: v1
kind: Service
metadata:
name: iperf3-sctp-svc
spec:
selector:
app.kubernetes.io/name: iperf3-sctp-server-client
ports:
- port: 31390
protocol: SCTP
targetPort: server-sctp
Fungsi ini tidak tersedia di server yang terhubung ke Distributed Cloud.
Modul kernel SCTP
Mulai dari versi 1.5.0, Distributed Cloud terhubung mengonfigurasi
modul kernel sctp Edge OS sebagai dapat dimuat. Dengan begitu, Anda dapat memuat stack protokol SCTP Anda sendiri di ruang pengguna kernel.
Selain itu, Distributed Cloud terhubung memuat modul berikut ke dalam kernel secara default:
| Nama modul | Nama konfigurasi |
|---|---|
fou |
CONFIG_NET_FOU |
nf_conntrack_proto_gre |
CONFIG_NF_CT_PROTO_GRE |
nf_conntrack_proto_sctp |
CONFIG_NF_CT_PROTO_SCTP |
inotify |
CONFIG_INOTIFY_USER |
xt_redirect |
CONFIG_NETFILTER_XT_TARGET_REDIRECT |
xt_u32 |
CONFIG_NETFILTER_XT_MATCH_U32 |
xt_multiport |
CONFIG_NETFILTER_XT_MATCH_MULTIPORT |
xt_statistic |
CONFIG_NETFILTER_XT_MATCH_STATISTIC |
xt_owner |
CONFIG_NETFILTER_XT_MATCH_OWNER |
xt_conntrack |
CONFIG_NETFILTER_XT_MATCH_CONNTRACK |
xt_mark |
CONFIG_NETFILTER_XT_MARK |
ip6table_mangle |
CONFIG_IP6_NF_MANGLE |
ip6_tables |
CONFIG_IP6_NF_IPTABLES |
ip6table_filter |
CONFIG_IP6_NF_FILTER |
ip6t_reject |
CONFIG_IP6_NF_TARGET_REJECT |
iptable_mangle |
CONFIG_IP_NF_MANGLE |
ip_tables |
CONFIG_IP_NF_IPTABLES |
iptable_filter |
CONFIG_IP_NF_FILTER |
Resource ClusterDNS
Distributed Cloud connected mendukung resource Google Distributed Cloud
ClusterDNS untuk mengonfigurasi server nama upstream untuk domain tertentu
dengan menggunakan bagian spec.domains. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi resource ini, lihat
spec.domains.
Fungsi ini tidak tersedia di server yang terhubung ke Distributed Cloud.