Dokumen ini menjelaskan cara memeriksa apakah virtualisasi bertingkat diaktifkan, dan cara mengubah batasan boolean yang mengontrol apakah virtualisasi bertingkat diaktifkan untuk organisasi, project, atau folder Anda.
Batasan boolean dalam kebijakan organisasi menentukan apakah Anda dapat membuat VM bertingkat. Batasan boolean untuk virtualisasi bertingkat adalah batasan, yang berarti bahwa saat diterapkan, batasan ini akan memberi tahu kebijakan organisasi untuk membatasi pembuatan VM bertingkat. Menerapkan batasan ini akan mencegah Compute Engine mengekspos ekstensi virtualisasi ke VM (VM L1). Artinya, meskipun Anda masih dapat membuat VM L1 dengan konfigurasi yang mengaktifkan virtualisasi bertingkat, Anda tidak dapat menjalankan VM bertingkat (VM L2) di VM L1 tersebut. Untuk mengetahui informasi selengkapnya tentang batasan boolean, lihat Memahami batasan.
Batasan Nonaktifkan virtualisasi bertingkat VM tidak diterapkan secara default, sehingga Anda tidak perlu mengubah batasan boolean apa pun untuk mengaktifkan virtualisasi bertingkat. Meskipun demikian, Google merekomendasikan untuk menetapkan nilai batasan secara eksplisit agar organisasi, folder, dan project Anda tidak bergantung pada setelan default. Jika project Anda tidak berada di bawah organisasi, batasan tidak akan diterapkan secara default dan Anda tidak dapat mengubah batasan.
Sebelum memulai
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan
kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Google Cloud konsol untuk mengakses Google Cloud layanan dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu .
-
- Tetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu .
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi. Google Cloud
Memeriksa apakah virtualisasi bertingkat diizinkan
Periksa apakah virtualisasi bertingkat diizinkan untuk organisasi, folder, atau project menggunakan Google Cloud konsol, Google Cloud CLI, atau REST.
Konsol
Periksa apakah Anda dapat membuat VM bertingkat di organisasi, folder, atau project Anda dengan memeriksa apakah batasan boolean untuk menonaktifkan virtualisasi bertingkat tidak diterapkan. Jika batasan Nonaktifkan virtualisasi bertingkat VM tidak diterapkan oleh kebijakan organisasi, Anda dapat membuat VM bertingkat.
Di Google Cloud konsol, buka halaman Organization policies.
Pada pemilih organisasi, folder, dan project, pilih entity untuk melihat kebijakan organisasinya.
Pilih batasan Nonaktifkan virtualisasi bertingkat VM untuk membuka halaman Detail kebijakan.
Lihat nilai untuk Penerapan:
Jika nilainya adalah Tidak diterapkan, virtualisasi bertingkat akan diaktifkan, dan Anda dapat membuat VM bertingkat.
Jika nilainya adalah Diterapkan, virtualisasi bertingkat akan dinonaktifkan, dan Anda tidak dapat membuat VM bertingkat.
gcloud
Periksa nilai batasan boolean compute.disableNestedVirtualization menggunakan perintah gcloud resource-manager org-policies describe
command.
Jika output Google Cloud CLI tidak menampilkan nilai untuk booleanPolicy, virtualisasi bertingkat akan diizinkan dan Anda dapat membuat VM bertingkat.
Jika nilai output Google Cloud CLI untuk booleanPolicy adalah enforced: true, kebijakan organisasi akan menerapkan batasan nonaktifkan virtualisasi bertingkat dan Anda tidak dapat membuat VM bertingkat.
gcloud resource-manager org-policies \ describe constraints/compute.disableNestedVirtualization \ (--organization=ORGANIZATION_ID | --folder=FOLDER_ID | --project=PROJECT_ID) --effective
Ganti hanya salah satu dari berikut ini:
ORGANIZATION_ID: ID organisasi untuk mendapatkan nilai batasan. Untuk mengetahui daftar organisasi yang dapat diakses dan ID-nya, jalankan perintahgcloud organizations listcommand.FOLDER_ID: ID folder untuk mendapatkan nilai batasan. Untuk mengetahui daftar folder yang dapat diakses dan ID-nya, jalankan perintahgcloud resource-manager folders list.PROJECT_ID: ID project untuk mendapatkan nilai batasan. Untuk mengetahui daftar project yang dapat diakses dan ID-nya, jalankan perintahgcloud projects list.
REST
Gunakan REST untuk memeriksa nilai batasan boolean compute.disableNestedVirtualization, yang menentukan apakah Anda dapat membuat VM bertingkat di organisasi, folder, atau project Anda.
Jika respons REST tidak menampilkan nilai untuk "booleanPolicy"
untuk batasan, virtualisasi bertingkat tidak akan dinonaktifkan dan Anda dapat
membuat VM bertingkat.
Jika nilai untuk "booleanPolicy" dalam output adalah "enforced": true, maka
virtualisasi bertingkat akan dinonaktifkan dan Anda tidak dapat membuat VM bertingkat.
POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:getOrgPolicy
{
"constraint": "compute.disableNestedVirtualization"
}
Ganti kode berikut:
RESOURCE: resource untuk mendapatkan kebijakan organisasi. Tetapkan ke salah satu opsi berikut:organizations: memanggil metodeorganizations.getOrgPolicyfolders: memanggilfolders.getOrgPolicymetodeprojects: memanggilprojects.getOrgPolicymetode
RESOURCE_ID: organisasi, folder, atau project tempat memeriksa status batasan penonaktifan virtualisasi bertingkat
Dari dalam VM Linux, Anda dapat menjalankan perintah grep -c vmx /proc/cpuinfo untuk memeriksa apakah ekstensi virtualisasi tersedia untuk VM. Jika perintah ini menampilkan 0, ekstensi virtualisasi tidak tersedia dan Anda tidak dapat menjalankan VM bertingkat. Salah satu alasannya mungkin karena batasan Nonaktifkan virtualisasi bertingkat VM diterapkan oleh kebijakan organisasi.
Jika Anda mencoba memulai VM bertingkat menggunakan KVM, Anda mungkin melihat pesan error
yang mirip dengan berikut ini: Could not access KVM kernel module: No such file or
directory.
Mengubah kebijakan organisasi virtualisasi bertingkat
Jika Anda memiliki peran yang sesuai, Anda dapat mengontrol apakah organisasi, folder, atau project dapat membuat VM bertingkat. Kontrol penerapan ini menggunakan batasan boolean untuk virtualisasi bertingkat.
Gunakan Google Cloud konsol, Google Cloud CLI, atau REST untuk mengaktifkan virtualisasi bertingkat untuk organisasi, folder, atau project.
Konsol
Untuk mengaktifkan virtualisasi bertingkat, nonaktifkan penerapan batasan boolean Nonaktifkan virtualisasi bertingkat VM, dan untuk menonaktifkan virtualisasi bertingkat, aktifkan penerapan batasan boolean.
Di Google Cloud konsol, buka halaman Organization policies.
Pada pemilih organisasi, folder, dan project, pilih entity untuk melihat kebijakan organisasinya.
Pilih batasan Nonaktifkan virtualisasi bertingkat VM untuk membuka halaman Detail kebijakan.
Klik Edit, lalu pilih Sesuaikan.
Di bagian Penerapan, pilih salah satu opsi penerapan berikut untuk batasan boolean Nonaktifkan virtualisasi bertingkat VM:
- Aktif: mengaktifkan penerapan dan menonaktifkan virtualisasi bertingkat
- Nonaktif: menonaktifkan penerapan dan mengaktifkan virtualisasi bertingkat
Klik Simpan.
gcloud
Gunakan gcloud resource-manager org-policies
perintah untuk mengaktifkan atau
menonaktifkan penerapan batasan boolean kebijakan
organisasi compute.disableNestedVirtualization.
Jika Anda menonaktifkan batasan compute.disableNestedVirtualization menggunakan
perintah disable-enforce, Anda dapat membuat VM dengan
virtualisasi bertingkat yang diaktifkan
Jika Anda mengaktifkan batasan menggunakan perintah enable-enforce, Anda
tidak dapat membuat VM dengan virtualisasi bertingkat yang diaktifkan.
gcloud resource-manager org-policies \ ( disable-enforce | enable-enforce ) compute.disableNestedVirtualization \ (--organization=ORGANIZATION_ID | --folder=FOLDER_ID | --project=PROJECT_ID)
Ganti hanya salah satu dari berikut ini:
ORGANIZATION_ID: ID organisasi untuk mengubah nilai batasan. Untuk mengetahui daftar organisasi yang dapat diakses dan ID-nya, jalankangcloud organizations listperintah.FOLDER_ID: ID folder untuk mengubah nilai batasan. Untuk mengetahui daftar folder yang dapat diakses dan ID-nya, jalankan perintahgcloud resource-manager folders list.PROJECT_ID: ID project untuk mengubah nilai batasan. Untuk mengetahui daftar project yang dapat diakses dan ID-nya, jalankan perintahgcloud projects list.
REST
Gunakan REST untuk mengubah nilai batasan boolean compute.disableNestedVirtualization, yang menentukan apakah Anda dapat membuat VM bertingkat di organisasi, folder, atau project Anda.
POST https://cloudresourcemanager.googleapis.com/v1/RESOURCE/RESOURCE_ID:setOrgPolicy
{
"policy": {
"booleanPolicy": {
"enforced": ENFORCE
},
"constraint": "constraints/compute.disableNestedVirtualization"
}
}
Ganti kode berikut:
RESOURCE: resource untuk mengubah kebijakan organisasi. Tetapkan ke salah satu opsi berikut:organizations: memanggil metodeorganizations.setOrgPolicyfolders: memanggil metodefolders.setOrgPolicyprojects: memanggilprojects.setOrgPolicymetode
RESOURCE_ID: organisasi, folder, atau project tempat memeriksa status batasan penonaktifan virtualisasi bertingkatENFORCE: menentukan apakah kebijakan organisasi menerapkan batasan booleancompute.disableNestedVirtualization. Tetapkan ke salah satu opsi berikut:true: untuk menerapkan batasan. Dengan setelan ini, Anda tidak dapat membuat VM dengan virtualisasi bertingkat yang diaktifkan.false: untuk tidak menerapkan batasan. Dengan setelan ini, Anda dapat membuat VM dengan virtualisasi bertingkat yang diaktifkan.