Membuat dan mengelola Tag pada cluster terlampir AKS

Halaman ini menunjukkan cara membuat dan mengelola Tag di cluster terlampir GKE.

Ringkasan

Tag adalah pasangan nilai kunci yang dapat dilampirkan ke resource di Google Cloud. Anda dapat menggunakan Tag untuk mengizinkan atau menolak kebijakan secara bersyarat berdasarkan apakah resource memiliki tag tertentu.

Sebagai administrator platform, kasus penggunaan Tag mungkin untuk memberikan peran Identity and Access Management (IAM) secara bersyarat berdasarkan apakah cluster memiliki tag tertentu atau tidak. Misalnya, Anda dapat mengonfigurasi GKE untuk memberikan peran Identity and Access Management secara otomatis kepada pengguna yang merupakan kontraktor sehingga mereka dapat mengakses cluster tertentu yang biasanya hanya tersedia untuk karyawan purnawaktu.

Setelah membuat tag, Anda dapat melampirkan tag tersebut ke resource Google Cloud sebagai pasangan nilai kunci menggunakan binding tag. Untuk setiap kunci, Anda dapat melampirkan satu nilai ke resource. Misalnya, jika Anda melampirkan env:dev ke cluster, Anda tidak dapat melampirkan env:prod atau env:test juga. Anda dapat melampirkan hingga 50 tag ke setiap resource.

Di cluster terlampir GKE, ada beberapa metode untuk menganotasi resource Anda, seperti yang diuraikan dalam tabel berikut:

Jenis anotasi Tingkat Deskripsi Contoh
Tag Cluster GKE

Mengizinkan atau menolak kebijakan bersyarat berdasarkan tag.

Untuk mempelajari lebih lanjut, lihat Ringkasan tag dalam dokumentasi Resource Manager.

Secara otomatis memberi akses kepada pengguna yang merupakan kontraktor ke cluster tertentu yang biasanya hanya tersedia untuk karyawan purnawaktu.
Label cluster GKE Cluster GKE

Mengatur resource GKE untuk melacak penggunaan dan penagihan.

Untuk mempelajari lebih lanjut, lihat Label cluster.

Membedakan cluster yang dimiliki oleh pusat biaya atau tim tertentu di organisasi Anda.
Label Kubernetes Cluster GKE

Mengaitkan komponen dan resource cluster satu sama lain dan mengelola siklus proses resource.

Untuk mempelajari lebih lanjut, lihat Label dan pemilih Kubernetes.

Mewajibkan workload dijadwalkan di node dengan label tertentu.

Sebelum memulai

Sebelum memulai, pastikan Anda telah melakukan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah gcloud components update. gcloud CLI versi sebelumnya mungkin tidak mendukung menjalankan perintah dalam dokumen ini.
  • Pastikan Anda memiliki peran IAM berikut untuk menggunakan Tag:

    • roles/resourcemanager.tagAdmin
    • roles/resourcemanager.tagUser

    Untuk mengetahui informasi tentang izin yang diberikan oleh peran ini, lihat Izin yang diperlukan.

Membuat kunci dan nilai tag

Agar dapat melampirkan tag ke resource GKE, Anda perlu membuat tag dan mengonfigurasi nilainya. Untuk membuat kunci dan nilai tag, lihat Membuat tag dan Menambahkan nilai tag dalam dokumentasi Resource Manager.

Melampirkan Tag ke cluster

Anda dapat melampirkan Tag ke cluster yang sudah ada jika memiliki izin yang tepat menggunakan Google Cloud CLI, konsol Google Cloud , atau Tags API.

gcloud

Untuk membuat binding tag guna melampirkan tag ke cluster, jalankan perintah berikut:

gcloud resource-manager tags bindings create \
    --tag-value=TAG_VALUE_ID \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Ganti kode berikut:

  • TAG_VALUE_ID: ID permanen atau nama dengan namespace dari nilai tag yang akan dilampirkan. Contoh, tagValues/4567890123. Untuk mengetahui detail tentang ID tag, lihat Definisi dan ID tag.
  • RESOURCE_ID: Nama resource lengkap cluster Anda, seperti //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Di ID resource:

    • PROJECT_ID: Project ID Google Cloud Anda.
    • CLUSTER_NAME: Nama cluster Anda.
  • CLUSTER_LOCATION: nama Google Cloud lokasi tempat cluster Anda dikelola.

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud .

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Di bagian Metadata, di samping Tag, klik Edit tag.

  4. Jika organisasi Anda tidak muncul di panel Tag, klik Pilih cakupan. Pilih organisasi Anda dan klik Buka.

  5. Di panel Tag, pilih Tambahkan tag.

  6. Pilih kunci untuk tag yang ingin Anda lampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.

  7. Pilih nilai untuk tag yang ingin dilampirkan dari daftar. Anda dapat memfilter daftar dengan mengetik kata kunci.

  8. Klik Simpan.

  9. Dalam dialog Konfirmasi, klik Konfirmasi untuk melampirkan tag.

    Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.

API

Untuk melampirkan tag ke resource, Anda harus terlebih dahulu membuat representasi JSON dari binding tag yang menyertakan ID permanen nilai tag dan resource. Untuk mengetahui informasi selengkapnya tentang format binding tag, lihat Referensi TagBinding.

Gunakan metode tagBindings.create dengan endpoint tempat cluster Anda berada.

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Ganti LOCATION dengan Google Cloud lokasi tempat cluster Anda berada, seperti us-central1.

Isi permintaan JSON:

{
  "parent": "RESOURCE_ID",
  "tagValue": "TAG_VALUE_ID"
}

Ganti kode berikut:

  • RESOURCE_ID: Nama resource lengkap cluster Anda, seperti //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Di ID resource:

    • PROJECT_ID: Project ID Google Cloud Anda.
    • CLUSTER_NAME: Nama cluster Anda.
  • TAG_VALUE_ID: ID permanen atau nama dengan namespace dari nilai tag yang akan dilampirkan. Contoh, tagValues/4567890123. Untuk mengetahui detail tentang ID tag, lihat Definisi dan ID tag.

Outputnya mirip dengan yang berikut ini:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.TagBinding",
    "name": "tagBindings///container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME/tagValues/TAG_VALUE_ID",
    "parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME",
    "tagValue": "TAG_VALUE_ID"
  }
}

Mencantumkan Tag yang dilampirkan ke cluster

Anda dapat membuat daftar Tag yang dilampirkan ke cluster menggunakan gcloud CLI, konsol Google Cloud , atau Tags API.

gcloud

Untuk mendapatkan daftar binding tag yang dilampirkan ke cluster, jalankan perintah berikut:

gcloud resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Ganti kode berikut:

  • RESOURCE_ID: Nama resource lengkap cluster Anda, seperti //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Di ID resource:

    • PROJECT_ID: Project ID Google Cloud Anda.

    • CLUSTER_NAME: Nama cluster Anda.

  • CLUSTER_LOCATION: Lokasi Google Cloud tempat cluster Anda berada.

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud .

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin Anda lihat.

  3. Di bagian Metadata, di samping Tag, cari nilai tag yang saat ini ditambahkan.

API

Untuk mendapatkan daftar binding tag cluster, gunakan metode tagBindings.list dengan endpoint tempat cluster Anda berada.

GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Isi permintaan JSON:

{
  "parent": RESOURCE_ID,
}

Ganti kode berikut:

  • RESOURCE_ID: Nama resource lengkap cluster Anda, seperti //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Di ID resource:

    • PROJECT_ID: Project ID Google Cloud Anda.
    • CLUSTER_NAME: Nama cluster Anda.

Outputnya mirip dengan hal berikut ini:

"tagBindings": [
  {
    "name": "tagBindings/%2F%2Fcontainer.googleapis.com%2Fprojects%2Ftags-bugbash-project%2Flocations%2Fus-central1%2Fclusters%2Ftestcluster/tagValues/758072120217",
    "parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME",
    "tagValue": "TAG_VALUE_ID"
  }
]

Melepaskan Tag dari cluster

Anda dapat melepaskan tag dari cluster dengan menghapus resource binding tag yang dilampirkan ke cluster menggunakan gcloud CLI, konsolGoogle Cloud , atau Tags API. Jika perlu menghapus tag, Anda harus melepaskannya dari semua resource yang terlampir terlebih dahulu.

gcloud

Untuk melepaskan binding tag yang terlampir ke cluster, jalankan perintah berikut:

gcloud resource-manager tags bindings delete \
    --tag-value=TAG_VALUE_ID \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Ganti kode berikut:

  • TAG_VALUE_ID: ID permanen atau nama dengan namespace dari nilai tag yang akan dilepas. Contoh, tagValues/4567890123. Untuk mengetahui detail tentang ID tag, lihat Definisi dan ID tag.

  • RESOURCE_ID: Nama resource lengkap cluster Anda, seperti //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.

    Di ID resource:

    • PROJECT_ID: Project ID Google Cloud Anda.

    • CLUSTER_NAME: Nama cluster Anda.

  • CLUSTER_LOCATION: Lokasi Google Cloud tempat cluster Anda berada.

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud .

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Di bagian Metadata, di samping Tag, klik Edit tag.

  4. Di panel Tag, di samping tag yang ingin dilepas, klik Hapus item.

  5. Klik Simpan.

  6. Dalam dialog Konfirmasi, klik Konfirmasi untuk melepas tag.

    Notifikasi mengonfirmasi bahwa tag Anda telah diperbarui.

API

Untuk menghapus binding tag cluster, gunakan metode tagBindings.delete dengan endpoint tempat cluster Anda berada.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAG_BINDING_NAME

Ganti TAG_BINDING_NAME dengan nama resource lengkap objek tagBinding yang ingin dilepaskan. Contoh, tagBindings/container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/tagValues/TAG_VALUE_ID

Menghapus kunci tag dan nilai tag

Sebelum Anda menghapus kunci dan nilai tag, pastikan tag tersebut telah dilepas dari semua resource. Selanjutnya, lihat Menghapus tag untuk menghapus kunci dan nilai.

Kondisi dan tag Identity and Access Management

Anda dapat menggunakan tag dan kondisi IAM untuk memberikan binding peran bersyarat kepada pengguna dalam hierarki project. Saat Anda mengubah atau menghapus tag yang terlampir ke cluster yang memiliki kebijakan IAM dengan binding peran bersyarat, GKE akan mengevaluasi ulang izin akses berdasarkan kondisi yang diperbarui.

Izin untuk mencantumkan dan membuat cluster GKE diperiksa di level project, bukan di level cluster individual. Jika Anda menggunakan binding peran IAM bersyarat dengan tag level cluster untuk membatasi akses ke cluster tertentu, pengguna tersebut mungkin mengalami error saat mencoba mencantumkan atau membuat cluster dalam project. Untuk menghindari error ini, lampirkan tag ke project induk dan gunakan binding peran bersyarat untuk memberikan daftar atau membuat akses. Untuk mengetahui informasi tentang peran dan izin, lihat referensi peran IAM.

Untuk mengetahui informasi selengkapnya tentang pemberian akses bersyarat di IAM, lihat Kondisi dan tag Identity and Access Management.

Langkah berikutnya