Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Ringkasan
ClusterCIDRConfig adalah resource pengalokasi CIDR kustom yang memungkinkan Anda
mengalokasikan lebih banyak rentang alamat IP untuk Pod secara dinamis.
Pengelolaan Alamat IP (IPAM) memungkinkan penggunaan subnet IP yang efisien dan menghindari tumpang-tindih dalam rentang alamat, sehingga mencegah konflik dan gangguan jaringan.
Kubernetes menetapkan CIDR Pod per node, yang digunakan sebagai alamat IP untuk Pod yang berjalan di node tersebut.
NodeIPAM Kubernetes saat ini memiliki batasan berikut:
Semua CIDR Pod dialokasikan dari satu CIDR cluster. Anda harus menentukan
seluruh rentang alamat IP yang memperhitungkan cluster terbesar pada saat
pembuatan cluster. Batasan ini dapat menyia-nyiakan alamat IP.
Jika Anda meningkatkan ukuran cluster, akan sulit untuk menambahkan lebih banyak alamat IP.
CIDR cluster adalah satu rentang besar. Anda mungkin kesulitan menemukan blok alamat IP yang berdekatan yang memenuhi kebutuhan cluster.
Setiap node mendapatkan rentang IP berukuran tetap dalam cluster. Jika node memiliki
ukuran dan kapasitas yang berbeda, Anda tidak dapat mengalokasikan rentang Pod yang lebih besar ke
node tertentu dengan kapasitas yang lebih besar dan rentang yang lebih kecil ke node dengan
kapasitas yang lebih kecil. Hal ini membuang banyak alamat IP. Untuk cluster besar dengan banyak node, pemborosan ini akan bertambah di semua node dalam cluster.
Dengan fungsi ClusterCIDRConfig, Anda dapat menghindari penetapan blok CIDR besar ke cluster, memetakan ukuran cluster ke skala Pod, dan dengan demikian, mempertahankan alamat IP. Anda dapat menyimpan alamat IP menggunakan ClusterCIDRConfigs
dengan berbagai kombinasi CIDR dan perNodeMaskSize. Resource ClusterCIDRConfig
mendukung hal berikut:
Beberapa blok CIDR IP yang tidak berdekatan untuk CIDR cluster pada tingkat yang lebih terperinci
Afinitas node blok CIDR
Ukuran blok yang berbeda-beda dialokasikan ke node
Google Distributed Cloud menggunakan fungsi ClusterCIDRConfig dalam fitur berikut:
Cluster.spec.clusterNetwork.pods.cidrBlocks adalah kolom opsional dan tidak
ditentukan secara default. Anda harus menentukannya jika salah satu fitur dari daftar sebelumnya tidak menentukannya. Misalnya, diperlukan saat cluster dibuat dalam mode pulau IPv4 dan harus ditentukan karena digunakan sebagai CIDR perutean native.
Tabel berikut mencantumkan penggunaan perilaku kolom Cluster.spec.clusterNetwork.pods.cidrBlocks ClusterCIDRConfig untuk mode jaringan yang berbeda.
Cluster.spec.clusterNetwork.pods.cidrBlocks diabaikan sepenuhnya, dan dapat dilewati. Pengguna harus secara eksplisit menentukan ClusterCIDRConfigs (per-node, per-nodepool, dan/atau per-cluster).
Stack ganda (IPv4 Island, IPv4 Flat)
Tentukan CIDR IPv4.
Jangan tentukan CIDR IPv6 di
Cluster.spec.clusterNetwork.pods.cidrBlocks.
Tentukan ClusterCIDRConfigs dengan CIDR IPv4 dan IPv6. CIDR IPv4 yang dikonfigurasi di semua ClusterCIDRConfigs harus sama dengan CIDR IPv4 dari Cluster.spec.clusterNetwork.pods.cidrBlocks termasuk nilai PerNodeMask untuk IPv4. Untuk mengetahui informasi selengkapnya tentang ClusterCIDRConfig dan contoh penggunaannya, lihat Contoh: Stack ganda (pulau IPv4, Flat IPv6)
Stack ganda (Flat IPv4, Flat IPv6)
Anda dapat melewati Cluster.spec.clusterNetwork.pods.cidrBlocks karena sepenuhnya diabaikan. Anda harus menentukan ClusterCIDRConfigs secara eksplisit (per-node, per-nodepool, dan/atau per-cluster) dengan CIDR IPv4 dan IPv6.
Saat Anda mengonfigurasi resource pengalokasi CIDR kustom ClusterCIDRConfig,
pertimbangkan hal berikut:
Penetapan CIDR Pod dari ClusterCIDRConfig tertentu ke node didasarkan pada pemilih label. Hal ini mirip dengan mekanisme nodeSelector yang digunakan untuk
menjadwalkan Pod pada node.
Anda harus mengonfigurasi ClusterCIDRConfig selama proses pembuatan cluster
dalam file YAML konfigurasi cluster. Setelah menentukan ClusterCIDRConfigs, Anda tidak dapat mengubah nilainya nanti.
Anda dapat menentukan beberapa ClusterCIDRConfigs dengan CIDR yang tumpang-tindih.
Jika tidak ada ClusterCIDRConfig yang cocok untuk node, node akan tetap dalam status NotReady, hingga ClusterCIDRConfig dengan label yang cocok dibuat.
Jika ClusterCIDRConfig yang paling cocok tidak memiliki lebih banyak CIDR yang tersedia untuk
alokasi, CIDR terbaik berikutnya akan dipilih dan CIDR Pod akan dialokasikan
dari CIDR yang tersedia.
Jika menggunakan model dual-stack,
dan Anda ingin menetapkan CIDR Pod dual-stack ke node, lakukan hal berikut:
Konfigurasi CIDR IPv4 dan IPv6 di ClusterCIDRConfig.
Pastikan semua ClusterCIDRConfig memiliki CIDR DualStack, jika beberapa ClusterCIDRConfig dikonfigurasi.
Pastikan bahwa CIDR IPv4 dan IPv6 yang dikonfigurasi memiliki jumlah alamat IP yang dapat dialokasikan per node yang sama.
Jadi, 32 - 24 == 128 - 120, karena perbedaannya adalah 8.
Beberapa ClusterCIDRConfigs dapat cocok dengan label dari nodeSelector ke
label node.
Aturan penetapan ClusterCIDRConfig
Untuk menentukan ClusterCIDRConfig mana yang digunakan untuk menetapkan CIDR Pod ke node saat ini, gunakan aturan pemecah seri berikut. Terapkan aturan ini dalam urutan yang diberikan. Terapkan aturan berikutnya hanya jika ikatan tidak diputus oleh aturan sebelumnya.
Pilih ClusterCIDRConfig yang NodeSelector-nya cocok dengan sebagian besar label di Node. Misalnya, {'node.kubernetes.io/instance-type':'medium', 'rack':
'rack1'} (Match Count: 2) dipilih sebelum
{'node.kubernetes.io/instance-type': 'medium'}. (Match Count: 1).
Pilih ClusterCIDRConfig dengan CIDR Pod yang dapat dialokasikan paling sedikit. Misalnya, {CIDR: "10.0.0.0/16", PerNodeMaskSize: "16"} (1 possible Pod
CIDR) dipilih sebelum {CIDR: "192.168.0.0/20", PerNodeMaskSize: "22"} (4
possible Pod CIDRs).
Pilih ClusterCIDRConfig yang PerNodeMaskSize-nya memiliki alamat IP paling sedikit.
Misalnya, 27 (2^(32-27)= 32 alamat IP) dipilih sebelum
25 (2^(32-25)=128 alamat IP).
Pilih ClusterCIDRConfig yang label NodeSelector yang cocok memiliki nilai alfanumerik yang lebih rendah. Misalnya, {'kubernetes.io/hostname': 'node-1'} dipilih daripada {'node.kubernetes.io/instance-type':'medium'}.
Pilih ClusterCIDRConfig yang CIDR IP-nya memiliki nilai lebih rendah. Terlepas dari
apakah konfigurasi adalah konfigurasi IPv4 atau konfigurasi DualStack, hanya CIDR IPv4
yang dibandingkan. Misalnya, {CIDR: "10.0.0.0/16"} is picked over
{CIDR: "192.168.0.0/16"}.
Contoh konfigurasi
Bagian ini mencantumkan contoh konfigurasi untuk Cluster dan ClusterCIDRConfig untuk semua mode jaringan.
Contoh: Mode Island IPv4 (Default)
Konfigurasi Cluster (Default)
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: bm-cluster
namespace: cluster-default
spec:
...
clusterNetwork:
# Pods specify the IP ranges from which pod networks are allocated.
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 10.96.0.0/12
... (other cluster config omitted)
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-10-20 UTC."],[],[]]