Setiap mesin virtual (VM) menyimpan metadatanya di server metadata. Anda dapat menambahkan, menghapus, dan melihat metadata di VM appliance air-gapped Google Distributed Cloud (GDC) sebagai key-value pair (KVP).
Anda dapat menggunakan KVP metadata untuk menyimpan informasi yang dapat membantu Anda mengidentifikasi VM, seperti nama server. Anda dapat mengakses metadata dari luar dan dalam VM, serta menggunakan metadata untuk meneruskan informasi antar-sistem yang berbeda.
Sebelum memulai
Untuk menggunakan perintah antarmuka command line (CLI) gdcloud, pastikan Anda telah mendownload, menginstal,
dan mengonfigurasi CLI gdcloud.
Semua perintah untuk appliance air-gapped GDC menggunakan CLI gdcloud atau
kubectl, dan memerlukan lingkungan sistem operasi (OS).
Mendapatkan jalur file kubeconfig
Untuk menjalankan perintah terhadap server Management API, pastikan Anda memiliki resource berikut:
Temukan nama server Management API, atau tanyakan kepada Administrator Platform (PA) Anda nama servernya.
Login dan buat file kubeconfig untuk server Management API jika Anda belum memilikinya.
Gunakan jalur untuk menggantikan
MANAGEMENT_API_SERVER{"</var>"}}dalam petunjuk ini.
Meminta izin dan akses
Untuk melakukan tugas yang tercantum di halaman ini, Anda harus memiliki peran ProjectVirtualMachine Admin. Ikuti langkah-langkah untuk
memverifikasi
atau meminta Admin IAM Project
memberi
Anda peran Project VirtualMachine Admin (project-vm-admin) di namespace
project tempat VM berada.
Untuk operasi VM menggunakan konsol GDC atau gdcloud CLI, minta Admin IAM Project Anda untuk memberi Anda peran Project VirtualMachine Admin dan peran Project Viewer (project-viewer).
Menambahkan atau menghapus metadata
Bagian ini menjelaskan cara menambahkan dan menghapus metadata dari instance VM yang ada.
Anda dapat menggunakan metadata untuk menyimpan pasangan nilai kunci arbitrer yang ingin ditambahkan ke VM. Misalnya, Anda mungkin ingin menambahkan dan mengelola metadata kustom Anda sendiri
untuk mengidentifikasi lingkungan yang berbeda, seperti test dan production.
Tambah metadata
gdcloud
Tambahkan metadata ke instance VM tertentu. Anda harus menyertakan salah satu flag
--metadataatau--metadata-from-filedalam perintah Anda. Anda juga dapat menambahkan kedua flag dalam perintah yang sama jika diperlukan untuk kasus penggunaan Anda:gdcloud compute instances add-metadata VM_NAME [--project=PROJECT] [--metadata=KEY=KEY_VALUE,[,KEY=KEY_VALUE,...]] [--metadata-from-file=KEY=LOCAL_FILE_PATH,]Ganti kode berikut:
VM_NAME: nama instance VM.PROJECT: nama project tempat VM berada. Nilai ini bersifat opsional.KEY: kunci untuk pasangan metadata.KEY_VALUE: nilai untuk pasangan metadata.LOCAL_FILE_PATH: nilai pasangan metadata dari file lokal.
API
Untuk menambahkan metadata dengan API, Anda harus menggunakan token STS.
Gunakan gdcloud CLI untuk membuat token
STS:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"Ganti
ORG_SUFFIXdengan akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com,ORG_SUFFIXadalahexample-org.comOutputnya mirip dengan hal berikut ini:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQTambahkan metadata ke instance VM tertentu:
curl -X POST "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN \ -H "Content-Type: application/json" \ -d "{"metadata": {"items": [{"key": "test-key", "value": "test-value"}]}}"Ganti kode berikut:
ORG_SUFFIX: akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com, makaORG_SUFFIXadalahexample-org.com.VM_NAME: nama instance VM.PROJECT: nama project tempat VM berada. Nilai ini bersifat opsional.STS_TOKEN: tokenSTSyang dihasilkan dari gdcloud CLI.
Menghapus metadata
gdcloud
Menghapus metadata dari instance VM tertentu. Jika Anda ingin menghapus semua entri metadata, gunakan flag
--all. Anda harus menggunakan salah satu flag--allatau--keysdalam perintah Anda:gdcloud compute instances remove-metadata VM_NAME [--project=PROJECT] [--keys=KEY,[KEY,...]] [--all]Ganti kode berikut:
VM_NAME: nama instance VM.PROJECT: nama project tempat VM berada. Nilai ini bersifat opsional.KEY: string kunci untuk pasangan metadata.
API
Untuk menghapus metadata dengan API, Anda harus menggunakan token STS.
Gunakan gdcloud CLI untuk membuat token
STS:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"Ganti
ORG_SUFFIXdengan akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com,ORG_SUFFIXadalahexample-org.com.Outputnya mirip dengan hal berikut ini:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQMenghapus metadata dari instance VM tertentu:
curl -X POST "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN" \ -H "Content-Type: application/json" \ -d "{"metadata": {"items": [{"key": "test-key", "value": "test-value"}]}}"Ganti kode berikut:
ORG_SUFFIX: akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com, makaORG_SUFFIXadalahexample-org.com.VM_NAME: nama instance VM.PROJECT: nama project tempat VM berada.STS_TOKEN: tokenSTSyang dihasilkan dari gdcloud CLI.
Mengkueri metadata
gdcloud
Mencantumkan semua metadata instance VM untuk melihat detail metadata:
gdcloud compute instances describe VM_NAME [--project=PROJECT]Ganti kode berikut:
VM_NAME: nama instance VM.PROJECT: nama project tempat VM berada. Nilai ini bersifat opsional.
Outputnya mirip dengan hal berikut ini:
... metadata: items: - key: Key-1 value: val12 - key: key2 value: lksdjfhk-user1
API
Gunakan gdcloud CLI untuk membuat token
STS:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"Ganti
ORG_SUFFIXdengan akhiran organisasi.Outputnya mirip dengan hal berikut ini:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQMencantumkan semua metadata instance VM untuk melihat detail metadata:
curl "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN" \ -H "Content-Type: application/json"Ganti kode berikut:
ORG_SUFFIX: akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com, makaORG_SUFFIXadalahexample-org.comVM_NAME: nama instance VM.PROJECT: nama project tempat VM berada. Nilai ini bersifat opsional.STS_TOKEN: tokenSTSyang dihasilkan dari gdcloud CLI.
Outputnya mirip dengan hal berikut ini:
... metadata: items: - key: Key-1 value: val12 - key: key2 value: lksdjfhk-user1
Mengkueri metadata dari dalam VM
Anda dapat membuat kueri metadata VM dari dalam VM, tanpa harus
terhubung ke server metadata. Untuk melakukannya, gunakan perintah curl dan
tambahkan kunci metadata yang berlaku ke URL metadata.
Mengkueri satu KVP
Membuat kueri KVP tunggal dari dalam VM:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/KEY" -H "Metadata-Flavor: Google"
Ganti KEY dengan kunci untuk pasangan metadata yang ingin
Anda kueri.
Mengueri semua pasangan KVP dengan nilai
Kueri semua pasangan KVP dari dalam VM dengan nilai kunci:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true" -H "Metadata-Flavor: Google"
Membuat kueri semua kunci metadata tanpa nilai
Kueri semua kunci metadata dari dalam VM tanpa nilai kunci:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=false" -H "Metadata-Flavor: Google"