Membuat dan mengelola Label

Anda dapat menerapkan label pengguna ke cluster Dataproc dan resource tugas untuk mengelompokkan resource dan operasi terkait untuk pemfilteran dan listingan nanti. Anda mengaitkan label dengan resource saat resource dibuat, saat pembuatan cluster atau pengiriman tugas. Setelah resource dikaitkan dengan label, label akan diterapkan ke operasi yang dilakukan pada resource—pembuatan, pembaruan, patch, atau penghapusan cluster; pengiriman, pembaruan, pembatalan, atau penghapusan tugas—sehingga Anda dapat memfilter dan mencantumkan cluster, tugas, dan operasi menurut label.

Anda juga dapat menambahkan label ke resource Compute Engine yang terkait dengan resource cluster, seperti instance Virtual Machine dan disk.

Apa itu label?

Label adalah pasangan nilai kunci yang dapat Anda tetapkan ke cluster dan tugas Google Cloud Dataproc. 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 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 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: Menambahkan label berdasarkan tim atau pusat biaya untuk membedakan cluster dan tugas Dataproc 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 dan menggunakan label Dataproc

Perintah gcloud

Anda dapat menentukan satu atau beberapa label yang akan diterapkan ke cluster atau tugas Dataproc saat pembuatan atau waktu pengiriman menggunakan Google Cloud CLI.

gcloud dataproc clusters create args --labels environment=production,customer=acme
gcloud dataproc jobs submit args --labels environment=production,customer=acme

Setelah cluster atau tugas Dataproc dibuat, Anda dapat memperbarui label yang terkait dengan resource tersebut menggunakan Google Cloud CLI.

gcloud dataproc clusters update args --update-labels environment=production,customer=acme
gcloud dataproc jobs update args --update-labels environment=production,customer=acme

Demikian pula, Anda dapat menggunakan Google Cloud CLI untuk memfilter resource Dataproc berdasarkan label menggunakan ekspresi filter dengan format berikut: labels.<key=value>.

gcloud dataproc clusters list \
    --region=region \
    --filter="status.state=ACTIVE AND labels.environment=production"
gcloud dataproc jobs list \
    --region=region \
    --filter="status.state=ACTIVE AND labels.customer=acme"

Lihat dokumentasi Dataproc API clusters.list dan jobs.list untuk mengetahui informasi selengkapnya tentang cara menulis ekspresi filter.

REST API

Label dapat dilampirkan ke resource Dataproc melalui Dataproc REST API. API clusters.create, jobs.submit dapat digunakan untuk melampirkan label ke cluster atau tugas pada saat pembuatan atau pengiriman. API clusters.patch, jobs.patch dapat digunakan untuk mengedit label setelah resource dibuat. Berikut adalah isi JSON permintaan cluster.create yang menyertakan label key1:value ke cluster.

{
  "clusterName":"cluster-1",
  "projectId":"my-project",
  "config":{
    "configBucket":"",
    "gceClusterConfig":{
      "networkUri":".../networks/default",
      "zoneUri":".../zones/us-central1-f"
    },
    "masterConfig":{
      "numInstances":1,
      "machineTypeUri":"..../machineTypes/n1-standard-4",
      "diskConfig":{
        "bootDiskSizeGb":500,
        "numLocalSsds":0
      }
    },
    "workerConfig":{
      "numInstances":2,
      "machineTypeUri":"...machineTypes/n1-standard-4",
      "diskConfig":{
        "bootDiskSizeGb":500,
        "numLocalSsds":0
      }
    }
  },
  "labels":{
    "key1":"value1"
  }
}

API clusters.list dan jobs.list dapat digunakan untuk mencantumkan resource yang cocok dengan filter yang ditentukan, menggunakan format berikut: labels.<key=value>.

Berikut adalah contoh permintaan HTTPS GET clusters.list Dataproc API yang menentukan filter label key=value. Pemanggil menyisipkan project, region, filter label-key dan label-value, serta api-key. Perhatikan bahwa contoh permintaan ini dibagi menjadi dua baris agar mudah dibaca.

GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters?
filter=labels.label-key=label-value&key=api-key

Lihat dokumentasi Dataproc API clusters.list dan jobs.list untuk mengetahui informasi selengkapnya tentang cara menulis ekspresi filter.

Konsol

Anda dapat menentukan kumpulan label yang akan ditambahkan ke resource Dataproc saat pembuatan atau waktu pengiriman menggunakan Konsol Google Cloud.

  • Tambahkan label ke cluster dari bagian Label di panel Sesuaikan cluster di halaman Buat cluster Dataproc.
  • Tambahkan label ke tugas dari halaman Kirim tugas Dataproc.

Setelah resource Dataproc dibuat, Anda dapat memperbarui label yang terkait dengan resource tersebut. Untuk memperbarui label, Anda harus mengklik SHOW INFO PANEL di kiri atas halaman terlebih dahulu. Ini adalah contoh dari halaman Dataproc→List clusters.

Setelah panel info ditampilkan, Anda dapat memperbarui label untuk resource Dataproc. Berikut adalah contoh pembaruan label untuk cluster Dataproc.

Anda juga dapat memperbarui label untuk beberapa item dalam satu operasi. Dalam contoh ini, label diperbarui untuk beberapa tugas Dataproc secara bersamaan.

Label memungkinkan Anda memfilter resource Dataproc yang ditampilkan di halaman Dataproc→List clusters dan Dataproc→List jobs. Di bagian atas halaman, Anda dapat menggunakan pola penelusuran labels.<labelname>=<value> untuk memfilter resource menurut label.

Label yang diterapkan secara otomatis

Saat membuat atau memperbarui cluster, Dataproc akan otomatis menerapkan beberapa label ke cluster dan resource cluster. Misalnya, Dataproc menerapkan label ke virtual machine, persistent disk, dan akselerator saat cluster dibuat. Label yang diterapkan secara otomatis memiliki awalan goog-dataproc khusus.

Label goog-dataproc berikut diterapkan secara otomatis ke resource Dataproc. Setiap nilai yang Anda berikan untuk label goog-dataproc yang dicadangkan saat pembuatan cluster akan menggantikan nilai yang diberikan secara otomatis. Oleh karena itu, sebaiknya jangan memberikan nilai Anda sendiri untuk label ini.

Label Deskripsi
goog-dataproc-cluster-name Nama cluster yang ditentukan pengguna
goog-dataproc-cluster-uuid ID cluster unik
goog-dataproc-location Endpoint cluster regional Dataproc

Anda dapat menggunakan label yang diterapkan secara otomatis ini dengan berbagai cara, termasuk:

Langkah selanjutnya