Halaman ini menjelaskan cara menyesuaikan komponen sistem milik Google di cluster terlampir GKE dengan menerapkan toleransi dan label kustom. Saat menyesuaikan komponen ini, Anda akan memiliki pengelolaan yang lebih presisi terkait tempat dan cara pengoperasian komponen ini 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 di node tertentu yang mencakup kemampuan untuk menerapkan label kustom untuk tujuan organisasi dan operasional.
Menyesuaikan komponen sistem akan mengatasi 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 dijadwalkan ke node yang memiliki taint Kubernetes tertentu, yang memungkinkan Anda menerapkan pemisahan workload atau menggunakan node pool khusus. Toleransi kustom secara langsung mengatasi masalah saat taint yang tidak dapat diubah 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
Batas dan pembatasan 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 tidak dapat menggunakan label berikut:
namecomponentapp- Label apa pun yang menyertakan
k8s.ioataukubernetes.iokarena label tersebut 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 tempat Anda mengelola cluster.
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 hanya mentoleransi taint 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 kunciworkloaddi 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 di 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 kustom
Untuk menentukan label kustom, tambahkan flag --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 tempat Anda mengelola cluster.
- 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. Misalnya,backend="".
Langkah berikutnya
- Pelajari Taint dan Toleransi lebih lanjut dalam dokumentasi Kubernetes.
- Pelajari cara melampirkan cluster EKS.