Halaman ini menjelaskan cara menyesuaikan komponen sistem milik Google di cluster terlampir GKE dengan menerapkan toleransi dan label kustom. Saat menyesuaikan komponen ini, Anda dapat mengelola secara lebih tepat di mana dan bagaimana komponen ini beroperasi dalam lingkungan Anda.
Ringkasan
Saat Anda melampirkan cluster ke Google Cloud, secara default, komponen sistem milik Google tidak menyertakan kolom yang dapat disesuaikan seperti toleransi. Akibatnya, Anda mungkin mengalami masalah seperti Pod yang gagal dijadwalkan di node yang tersedia, yang memengaruhi keseluruhan lampiran dan fungsi cluster. Selain itu, Anda mungkin memerlukan kontrol atas penempatan dan pengelolaan komponen pada node tertentu yang mencakup kemampuan untuk menerapkan label kustom untuk tujuan organisasi dan operasional.
Menyesuaikan komponen sistem akan menyelesaikan masalah ini dan memungkinkan Anda memiliki kontrol dan fleksibilitas yang lebih besar atas cara pengoperasian komponen ini di cluster Anda. Anda dapat menerapkan toleransi dan label kustom ke komponen sistem milik Google:
Toleransi memberikan kemampuan bagi komponen Google untuk menjadwalkan ke node yang memiliki taint Kubernetes tertentu, yang memungkinkan Anda menerapkan pemisahan workload atau menggunakan node pool khusus. Toleransi kustom secara langsung menyelesaikan masalah saat taint yang tidak dapat dimodifikasi mencegah penempatan komponen yang tepat.
Label menawarkan cara yang fleksibel bagi Anda untuk mengategorikan dan mengidentifikasi komponen sistem Google sesuai dengan standar operasional Anda sendiri. Label kustom memungkinkan integrasi yang lebih baik dengan alat pemantauan, logging, dan penerapan kebijakan yang ada.
Batas dan pembatasan
Batasan dan batasan berikut berlaku:
- Anda hanya dapat menambahkan toleransi dan label kustom saat mendaftarkan cluster.
- Anda dapat menambahkan hingga 10 toleransi kustom dan 10 label kustom ke cluster Anda.
Anda tidak dapat menggunakan label berikut:
name
component
app
- Label apa pun yang menyertakan
k8s.io
ataukubernetes.io
karena termasuk dalam label yang dicadangkan di Kubernetes - Label apa pun yang menyertakan
google
- Label apa pun yang menyertakan
gke.io
Menambahkan toleransi kustom
Pod komponen sistem milik Google selalu menyertakan toleransi berikut:
- key: components.gke.io/gke-managed-components
operator: Exists
Untuk menentukan toleransi kustom, tambahkan flag --system-component-tolerations
ke perintah
gcloud container attached clusters register
:
gcloud container attached clusters register CLUSTER_NAME \
--location=GOOGLE_CLOUD_REGION \
...
--system-component-tolerations=COMPONENT_TOLERATION \
Ganti kode berikut:
- CLUSTER_NAME: nama cluster Anda.
- GOOGLE_CLOUD_REGION: Google Cloud region untuk mengelola cluster Anda.
COMPONENT_TOLERATION: daftar toleransi yang dipisahkan koma yang ingin Anda tambahkan. Anda dapat memberikan kunci, nilai, operator, dan efek dalam format berikut:
- Untuk operator
Equal
: gunakan formatkey=value:operator:effect
, misalnya,workload=hpc:Equal:NoSchedule
. Setelan ini berarti Pod mentoleransi taint hanya jika taint memiliki kunci dan nilai yang sama persis denganworkload=hpc
. - Untuk operator
Exists
: gunakan formatkey:operator:effect
, misalnya,workload:Exists:NoSchedule
. Setelan ini berarti Pod mentoleransi taint apa pun dengan kunciworkload
pada node, terlepas dari nilainya. - Untuk penjadwalan di node mana pun: gunakan format
:operator:effect
, misalnya,:Exists:NoSchedule
. Setelan ini berarti Pod mentoleransi taint apa pun pada node yang memiliki efekNoSchedule
, dan mengabaikan kunci atau nilai taint.
Untuk mengetahui daftar operator dan efek yang dapat Anda gunakan, lihat Taint dan Toleransi dalam dokumentasi Kubernetes.
- Untuk operator
Menambahkan label khusus
Untuk menentukan label kustom, tambahkan tanda --system-component-labels
ke perintah
gcloud container attached clusters register
:
gcloud container attached clusters register CLUSTER_NAME \
--location=GOOGLE_CLOUD_REGION \
...
--system-component-labels=COMPONENT_LABEL \
Ganti kode berikut:
- CLUSTER_NAME: nama cluster Anda.
- GOOGLE_CLOUD_REGION: Google Cloud region untuk mengelola cluster Anda.
- COMPONENT_LABEL: daftar yang dipisahkan koma dari satu atau beberapa
label yang ingin Anda tambahkan. Anda memberikan label dan nilai dalam format
key=value
. Misalnya,env=production,region=us-east-1
. Meskipun setiap label harus memiliki kunci, nilai yang terkait dengan kunci tersebut dapat kosong. Contoh,backend=""
.
Langkah berikutnya
- Pelajari Taint dan Toleransi lebih lanjut dalam dokumentasi Kubernetes.
- Pelajari cara melampirkan cluster yang sesuai dengan CNCF.