Menambahkan Label ke Deployment

Label adalah cara mudah untuk mengatur deployment yang terkait atau terkait satu sama lain. Misalnya, praktik yang umum dilakukan adalah memberi label pada deployment yang ditujukan untuk produksi, staging, atau pengembangan secara terpisah, sehingga Anda dapat dengan mudah menelusuri deployment yang termasuk dalam setiap tahap jika diperlukan.

Apa itu label?

Label adalah pasangan nilai kunci yang dapat Anda tetapkan ke deployment Google Cloud. Label membantu Anda mengatur resource ini dan mengelola biaya dalam skala besar, dengan perincian yang Anda butuhkan. Anda dapat melampirkan label ke setiap resource, lalu memfilter resource berdasarkan labelnya. Informasi tentang label diteruskan ke sistem penagihan, sehingga Anda dapat mengelompokkan tagihan menurut label. Dengan laporan penagihan bawaan, Anda dapat memfilter dan mengelompokkan biaya berdasarkan label resource. Anda juga dapat menggunakan label untuk membuat kueri ekspor data penagihan.

Persyaratan untuk label

Label yang diterapkan ke resource harus memenuhi persyaratan berikut:

  • Setiap resource dapat memiliki maksimal 64 label.
  • Setiap label harus berupa pasangan nilai kunci.
  • Kunci memiliki panjang minimum 1 karakter dan panjang maksimum 63 karakter, serta tidak boleh kosong. Nilai boleh kosong dan memiliki panjang maksimum 63 karakter.
  • Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda pisah. Semua karakter harus menggunakan encoding UTF-8, dan boleh menggunakan karakter internasional. Kunci harus diawali dengan huruf kecil atau karakter internasional.
  • Bagian kunci label harus unik dalam satu resource. Namun, Anda dapat menggunakan kunci yang sama dengan beberapa resource.

Batasan ini berlaku untuk kunci dan nilai untuk setiap label, serta untuk masing-masing resource Google Cloud yang memiliki label. Tidak ada batasan jumlah label yang dapat diterapkan di semua resource dalam satu project.

Penggunaan label secara umum

Berikut adalah beberapa kasus penggunaan umum untuk label:

  • Label tim atau pusat biaya: Tambahkan label berdasarkan tim atau pusat biaya untuk membedakan deployment yang dimiliki oleh tim yang berbeda (misalnya team:research dan team:analytics). Anda dapat menggunakan jenis label ini untuk penghitungan atau penganggaran biaya.

  • Label komponen: Misalnya, component:redis, component:frontend, component:ingest, dan component:dashboard.

  • Label lingkungan atau tahap: Misalnya, environment:production dan environment:test.

  • Label status: Misalnya, state:active, state:readytodelete, dan state:archive.

  • Label kepemilikan: Digunakan untuk mengidentifikasi tim yang bertanggung jawab atas operasi, misalnya: team:shopping-cart.

Sebaiknya jangan membuat label unik dalam jumlah besar, seperti untuk stempel waktu atau nilai individual untuk setiap panggilan API. Masalah dari pendekatan ini adalah ketika nilai sering berubah atau dengan kunci yang mengacaukan katalog, ini akan menyulitkan pemfilteran dan pelaporan resource secara efektif.

Label dan tag

Label dapat digunakan sebagai anotasi yang dapat dikueri untuk resource, tetapi tidak dapat digunakan untuk menetapkan kondisi pada kebijakan. Tag menyediakan cara untuk mengizinkan atau menolak kebijakan secara bersyarat berdasarkan apakah resource memiliki tag tertentu, dengan memberikan kontrol terperinci atas kebijakan. Untuk informasi selengkapnya, lihat Ringkasan tag.

Membuat deployment dengan label

Saat membuat deployment, Anda dapat menambahkan label dengan menyediakan satu atau beberapa key-value pair sebagai label saat membuat deployment. Jika sudah memiliki deployment, Anda dapat mengupdate deployment untuk menambahkan label baru atau mengubah label yang ada.

Anda harus menggunakan gcloud CLI atau API untuk membuat deployment dengan label.

gcloud

Pada gcloud, tambahkan label ke deployment Anda dengan memberikan flag --labels, diikuti dengan daftar key-value pair yang dipisahkan koma. Misalnya, perintah berikut menambahkan dua label ke deployment, environment=production dan storage=media:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production,storage=media

Untuk melihat label yang diterapkan ke deployment, dapatkan deskripsi deployment:

gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
  value: production
- key: storage
  value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
  endTime: '2017-04-18T09:43:04.581-07:00'
  name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
  operationType: insert
  progress: 100
  startTime: '2017-04-18T09:42:48.034-07:00'
  status: DONE
  user:user@example.com

API

Di API, ikuti petunjuk untuk membuat deployment dan sertakan properti labels baru dalam isi permintaan Anda. Contoh:

{
  "name": "example-deployment",
  "target": {
    "config": {
      "content": "..."
      },
   }
  "labels": [
  {
    "key": "environment",
    "value": "production"
  },
  {
    "key": "storage",
    "value": "media"
  }
 ]
}

Menghapus label

Konsol

  1. Buka halaman Deployment di Konsol Google Cloud.

    Buka halaman Deployment

  2. Jika diminta, pilih project Anda, lalu klik Lanjutkan.

  3. Centang kotak di samping deployment yang ingin Anda hapus labelnya. Panel samping akan muncul.

  4. Klik X di samping setiap label yang ingin Anda hapus.

  5. Simpan perubahan Anda.

gcloud

Di gcloud, hapus label menggunakan perintah deployments update dan dengan memberikan tanda --remove-labels, diikuti dengan daftar kunci label yang dipisahkan koma yang akan dihapus.

Misalnya, perintah berikut menghapus label dengan kunci environment:

gcloud deployment-manager deployments update example-deployment --remove-labels environment

API

Di API, ikuti petunjuk untuk mengupdate deployment Anda dan menyertakan update pada deployment yang tidak berisi properti labels dalam isi permintaan Anda, sehingga menghapus label secara efektif.

Menambahkan atau memperbarui label

Anda dapat menambahkan label baru atau memperbarui label pada deployment yang ada.

Konsol

  1. Buka halaman Deployment di Konsol Google Cloud.

    Buka halaman Deployment

  2. Jika diminta, pilih project Anda, lalu klik Lanjutkan.

  3. Centang kotak di samping deployment yang labelnya ingin Anda perbarui. Panel samping akan terbuka.

  4. Untuk mengubah nilai label, perbarui entri label yang sesuai. Jika ingin mengubah kunci label, Anda harus menghapus label dan menambahkannya lagi dengan kunci baru.

  5. Simpan perubahan Anda.

gcloud

Di gcloud, perbarui atau tambahkan label baru menggunakan perintah deployments update dan berikan tanda --update-labels, diikuti dengan daftar yang dipisahkan koma untuk label yang diperbarui:

Misalnya, perintah berikut akan memperbarui label environment:

gcloud deployment-manager deployments update example-deployment --update-labels environment=production

API

Di API, ikuti petunjuk untuk memperbarui deployment dan di isi permintaan Anda, hapus properti labels, yang menghapus label dari deployment.

Menambahkan label selama pratinjau deployment

Sebelum membuat deployment, Anda dapat melihat pratinjau deployment. Sebagai bagian dari pratinjau, Anda dapat menetapkan label ke deployment yang dipratinjau. Contoh:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production --preview

Untuk mengubah label selama pratinjau, Anda harus memperbarui pratinjau dengan label baru. Untuk mempelajari pratinjau lebih lanjut, baca dokumentasi Melihat Pratinjau Konfigurasi.

Memfilter penelusuran menggunakan label

Anda dapat menelusuri resource dan memfilter hasil menurut label.

Konsol

  1. Buka halaman Deployment di Konsol Google Cloud.

    Buka halaman Deployment

  2. Jika diminta, pilih project Anda, lalu klik Lanjutkan.

  3. Di kotak penelusuran, mulai ketik labels. dan kotak penelusuran akan otomatis mencantumkan label yang dapat Anda filter.

gcloud

Di gcloud, buat permintaan list dan gunakan flag --filter. Untuk memfilter label, gunakan sintaksis labels.[KEY]=[VALUE] Misalnya, jika ingin memfilter label dengan environment sebagai kunci dan production sebagai nilainya, Anda dapat menjalankan perintah ini:

gcloud deployment-manager deployments list --filter labels.environment=production

Untuk dokumentasi lengkap tentang sintaksis filter di gcloud CLI, lihat dokumentasi gcloud topic filters.

API

Di API, buat permintaan daftar dengan parameter kueri filter yang dienkode URL. Misalnya, untuk memfilter berdasarkan kunci label environment yang sama dengan nilai production, buat permintaan GET berikut:

GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.environment+eq+production

Untuk informasi selengkapnya, baca dokumentasi filter dalam referensi API.

Langkah selanjutnya