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
--metadata
atau--metadata-from-file
dalam 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_SUFFIX
dengan akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com
,ORG_SUFFIX
adalahexample-org.com
Outputnya mirip dengan hal berikut ini:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Tambahkan 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_SUFFIX
adalahexample-org.com
.VM_NAME
: nama instance VM.PROJECT
: nama project tempat VM berada. Nilai ini bersifat opsional.STS_TOKEN
: tokenSTS
yang 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--all
atau--keys
dalam 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_SUFFIX
dengan akhiran organisasi. Misalnya, jika URL konsol organisasi adalahhttps://console.example-org.com
,ORG_SUFFIX
adalahexample-org.com
.Outputnya mirip dengan hal berikut ini:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Menghapus 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_SUFFIX
adalahexample-org.com
.VM_NAME
: nama instance VM.PROJECT
: nama project tempat VM berada.STS_TOKEN
: tokenSTS
yang 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_SUFFIX
dengan akhiran organisasi.Outputnya mirip dengan hal berikut ini:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Mencantumkan 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_SUFFIX
adalahexample-org.com
VM_NAME
: nama instance VM.PROJECT
: nama project tempat VM berada. Nilai ini bersifat opsional.STS_TOKEN
: tokenSTS
yang 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"