Menambahkan Label ke Deployment

Label adalah cara mudah untuk mengatur deployment yang berhubungan atau terkait satu sama lain. Misalnya, praktik umum 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 yang dimaksud dengan label?

Label adalah pasangan nilai kunci yang dapat Anda tetapkan ke Google Cloud deployment. 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 yang memungkinkan Anda mengelompokkan tagihan biaya berdasarkan 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 Google Cloud resource 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 akuntansi 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 Anda tidak membuat label unik dalam jumlah besar, seperti untuk stempel waktu atau nilai individual bagi 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 memberikan satu atau beberapa pasangan nilai kunci sebagai label saat membuat deployment. Jika sudah memiliki deployment, Anda dapat memperbarui deployment untuk menambahkan label baru atau mengubah label yang ada.

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

gcloud

Di gcloud, tambahkan label ke deployment Anda dengan memberikan tanda --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 pada 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 Deployments 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.

gcloud

Di gcloud, hapus label menggunakan perintah deployments update dan berikan flag --remove-labels, diikuti dengan daftar kunci label yang dipisahkan koma untuk 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 memperbarui deployment dan sertakan pembaruan pada deployment yang tidak berisi properti labels dalam isi permintaan Anda, sehingga label akan dihapus.

Menambahkan atau memperbarui label

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

Konsol

  1. Buka halaman Deployments 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 perbarui labelnya. Panel samping akan terbuka.

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

  5. Simpan perubahan.

gcloud

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

Misalnya, kode berikut memperbarui label environment:

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

API

Di API, ikuti petunjuk untuk mengupdate deployment dan di isi permintaan, hapus properti labels, yang akan 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 dilihat pratinjaunya. 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 Deployments 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 gunakan untuk memfilter.

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 nilai, 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 ke 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 mengetahui informasi selengkapnya, baca dokumentasi filter di referensi API.

Langkah berikutnya