Membuat dan mengelola Label

Anda dapat menerapkan label pengguna ke cluster Dataproc dan resource tugas untuk mengelompokkan resource dan operasi terkait untuk keperluan pemfilteran dan listingan nanti. Anda mengaitkan label dengan resource saat resource dibuat, yaitu saat pembuatan cluster atau pengiriman tugas. Setelah resource dikaitkan dengan label, label ini disebarkan ke operasi yang dijalankan pada resource—pembuatan, update, patch, atau penghapusan cluster; pengiriman tugas, pembaruan, pembatalan, atau penghapusan—sehingga Anda dapat memfilter serta membuat daftar cluster, tugas, dan operasi menurut label.

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

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 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 cluster Dataproc dan tugas 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 dan menggunakan label Dataproc

Perintah gcloud

Anda dapat menentukan satu atau beberapa label untuk diterapkan ke tugas atau cluster Dataproc saat pembuatan atau pengiriman waktu 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 menurut label menggunakan ekspresi filter 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 API Dataproc clusters.list dan jobs.list untuk mengetahui informasi selengkapnya tentang cara menulis ekspresi filter.

REST API

Label dapat dilampirkan ke resource Dataproc melalui REST API Dataproc. clusters.create, jobs.submit API 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 selesai dibuat. Berikut adalah isi JSON dari permintaan cluster.create yang mencakup lampiran 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 membuat daftar resource yang cocok dengan filter tertentu, menggunakan format berikut: labels.<key=value>.

Berikut adalah contoh permintaan GET HTTPS clusters.list Dataproc API yang menentukan filter label key=value. Pemanggil akan menyisipkan project, region, filter label-key dan label-value, serta api-key. Perlu diperhatikan bahwa contoh permintaan ini dipecah 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 API Dataproc clusters.list dan jobs.list untuk mengetahui informasi selengkapnya tentang cara menulis ekspresi filter.

Konsol

Anda dapat menentukan serangkaian label untuk ditambahkan ke resource Dataproc saat pembuatan atau pengiriman waktu menggunakan Google Cloud Console.

  • Tambahkan label ke cluster dari bagian Label pada 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 terlebih dahulu mengklik SHOW INFO PANEL di kiri atas halaman. Ini adalah contoh dari halaman Cluster dataproc→List.

Setelah panel info ditampilkan, Anda dapat memperbarui label untuk resource Dataproc. Di bawah ini 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 Cluster Dataproc→List dan Dataproc→List jobs. Di bagian atas halaman, Anda dapat menggunakan pola penelusuran labels.<labelname>=<value> untuk memfilter resource berdasarkan label.

Label yang diterapkan secara otomatis

Saat membuat atau mengupdate cluster, Dataproc akan otomatis menerapkan beberapa label ke resource cluster dan 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, Anda tidak perlu 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