Membuat boot disk yang disesuaikan

Saat membuat instance virtual machine (VM), Anda juga harus membuat boot disk untuk VM tersebut. Anda dapat menggunakan image publik atau image kustom. GDC secara otomatis membuat persistent disk booting saat Anda membuat instance VM. Jika Anda memerlukan disk penyimpanan data tambahan untuk instance, tambahkan persistent disk ke VM.

Gunakan prosedur yang dijelaskan di halaman ini untuk membuat boot disk yang dapat Anda gunakan nanti untuk membuat VM.

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:

  1. Temukan nama server Management API, atau tanyakan kepada Administrator Platform (PA) Anda nama servernya.

  2. Login dan buat file kubeconfig untuk server Management API jika Anda belum memilikinya.

  3. 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 akses ke disk VM. 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).

Membuat disk booting dari image

Anda dapat membuat persistent disk booting mandiri di luar pembuatan instance dan menambahkannya ke instance setelahnya. Bagian ini menunjukkan cara membuat disk boot dari image OS yang disediakan GDC atau image OS kustom.

Membuat boot disk dari image yang disediakan GDC

Sebelum Anda membuat boot disk menggunakan image yang disediakan GDC, tinjau daftar image yang tersedia. Kemudian, buat boot disk dengan image yang disediakan.

gdcloud

  1. Mencantumkan semua image yang tersedia dan ukuran disk minimumnya:

    gdcloud compute images list
    

    Perintah ini mencakup gambar kustom dan gambar yang disediakan oleh appliance GDC dengan air gap. Pilih salah satu di namespace vm-system.

  2. Pilih image yang disediakan oleh appliance GDC yang terisolasi dari internet untuk membuat disk VM:

    gdcloud compute disks create BOOT_DISK_NAME \
        --project=PROJECT \
        --size=DISK_SIZE \
        --image=IMAGE_NAME \
        --image-project=vm-system
    

    Ganti variabel menggunakan definisi berikut:

    VariabelDefinisi
    BOOT_DISK_NAME Nama disk boot.
    PROJECT Project GDC tempat boot disk akan dibuat.
    DISK_SIZE Ukuran disk booting harus minimal minimumDiskSize dari image.
    IMAGE_NAME Nama gambar.

kubectl

  1. Mencantumkan semua image yang disediakan GDC yang tersedia:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
    
  2. Mendapatkan minimumDiskSize gambar tertentu yang disediakan GDC. Ukuran boot disk yang disesuaikan yang dibuat harus minimal minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Buat objek VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    Ganti variabel menggunakan definisi berikut:

    VariabelDefinisi
    MANAGEMENT_API_SERVER File kubeconfig server Management API.
    IMAGE_NAME Nama gambar.
    PROJECT Project GDC tempat boot disk akan dibuat.
    BOOT_DISK_NAME Nama disk boot.
    DISK_SIZE Ukuran disk booting harus minimal minimumDiskSize dari image.

Membuat disk booting dari image kustom

Image kustom hanya berada di dalam project Anda. Untuk membuat VM dengan image boot disk kustom, jika image belum ada di project Anda, maka Anda harus membuatnya.

Siapkan peran IAM yang diperlukan untuk mengakses image kustom di project Anda jika Anda belum melakukannya. Kemudian, lanjutkan dengan petunjuk ini.

gdcloud

  1. Mencantumkan semua image kustom dan ukuran disk minimumnya:

    gdcloud compute images list \
        --project=PROJECT \
    
  2. Pilih image kustom untuk membuat disk VM:

    gdcloud compute disks create BOOT_DISK_NAME \
        --project=PROJECT \
        --size=DISK_SIZE \
        --image=IMAGE_NAME \
        --image-project=PROJECT
    

    Ganti variabel menggunakan definisi berikut:

    VariabelDefinisi
    BOOT_DISK_NAME Nama disk boot.
    PROJECT Project GDC tempat boot disk akan dibuat.
    DISK_SIZE Ukuran disk booting harus minimal minimumDiskSize dari image.
    IMAGE_NAME Nama gambar.

kubectl

  1. Mencantumkan semua gambar kustom:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
    
  2. Mendapatkan minimumDiskSize dari image kustom tertentu. Ukuran boot disk kustom yang dibuat harus minimal minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Buat objek VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply --namespace PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    Ganti variabel, menggunakan definisi berikut:

    VariabelDefinisi
    MANAGEMENT_API_SERVER File kubeconfig server Management API.
    IMAGE_NAME Nama gambar yang dipilih dari perintah list all custom images.
    PROJECT Project GDC tempat boot disk akan dibuat.
    BOOT_DISK_NAME Nama disk boot.
    DISK_SIZE Ukuran disk booting harus minimal minimumDiskSize dari image.

Untuk mengganti boot disk, lihat halaman Mengganti boot disk.