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
danteam:analytics
). Anda dapat menggunakan jenis label ini untuk penghitungan atau penganggaran biaya.Label komponen: Misalnya,
component:redis
,component:frontend
,component:ingest
, dancomponent:dashboard
.Label lingkungan atau tahap: Misalnya,
environment:production
danenvironment:test
.Label status: Misalnya,
state:active
,state:readytodelete
, danstate: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
Buka halaman Deployment di Konsol Google Cloud.
Jika diminta, pilih project Anda, lalu klik Lanjutkan.
Centang kotak di samping deployment yang ingin Anda hapus labelnya. Panel samping akan muncul.
Klik X di samping setiap label yang ingin Anda hapus.
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
Buka halaman Deployment di Konsol Google Cloud.
Jika diminta, pilih project Anda, lalu klik Lanjutkan.
Centang kotak di samping deployment yang labelnya ingin Anda perbarui. Panel samping akan terbuka.
Untuk mengubah nilai label, perbarui entri label yang sesuai. Jika ingin mengubah kunci label, Anda harus menghapus label dan menambahkannya lagi dengan kunci baru.
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
Buka halaman Deployment di Konsol Google Cloud.
Jika diminta, pilih project Anda, lalu klik Lanjutkan.
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
- Pelajari cara menghapus deployment Anda.
- Pelajari lebih lanjut cara mengupdate deployment yang ada.