Membuat boot disk yang disesuaikan

Dokumen ini menjelaskan langkah-langkah untuk membuat boot disk kustom untuk virtual machine (VM) di Google Distributed Cloud (GDC) dengan air gap.

Saat Anda membuat instance VM, Distributed Cloud akan otomatis membuat boot persistent disk dengan konfigurasi default. Anda juga harus membuat boot disk untuk VM. Anda dapat menggunakan image publik atau image kustom.

Jika Anda memerlukan disk penyimpanan data tambahan untuk instance, tambahkan persistent disk ke VM Anda.

Dokumen ini ditujukan bagi developer dalam grup administrator platform atau operator aplikasi yang membuat boot disk yang disesuaikan untuk VM. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Sebelum memulai

Untuk menggunakan perintah antarmuka command line (CLI) gdcloud, pastikan Anda telah mendownload, menginstal, dan mengonfigurasi gdcloud CLI. Semua perintah untuk Distributed Cloud 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. Login dan buat file kubeconfig untuk server Management API jika Anda belum memilikinya.

  2. Gunakan jalur ke file kubeconfig server Management API untuk mengganti MANAGEMENT_API_SERVER dalam petunjuk ini.

Meminta peran IAM

Hubungi Admin Project IAM Anda untuk meminta peran berikut di project Anda:

  • Virtual Machine Project Admin (project-vm-admin): membuat, mengubah, mencantumkan, dan menghapus VM standar dan berperforma tinggi di namespace project.

  • Project Viewer(project-viewer): melihat semua resource dalam namespace project.

Semua peran VM harus terikat ke namespace project tempat VM berada. Ikuti langkah-langkah untuk memverifikasi akses Anda.

Membuat boot disk

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

Membuat boot disk dari image

Anda dapat membuat persistent disk booting mandiri di luar pembuatan instance dan menambahkannya ke instance setelahnya. Bagian ini menunjukkan cara membuat boot disk dari OS image yang disediakan GDC atau OS image 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. Cantumkan semua image yang tersedia dan ukuran disk minimumnya:

    gdcloud compute images list
    

    Perintah ini mencakup image kustom dan image yang disediakan Distributed Cloud. Pilih salah satu di namespace vm-system.

  2. Pilih image yang disediakan Distributed Cloud 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 boot disk.
    PROJECT Project GDC tempat boot disk akan dibuat.
    DISK_SIZE Ukuran boot disk harus minimal minimumDiskSize dari image.
    IMAGE_NAME Nama image.

kubectl

  1. Cantumkan semua image yang disediakan GDC yang tersedia:

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

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -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 image.
    PROJECT Project GDC tempat boot disk akan dibuat.
    BOOT_DISK_NAME Nama boot disk.
    DISK_SIZE Ukuran boot disk harus minimal minimumDiskSize dari image.

Membuat boot disk dari image kustom

Image kustom hanya berada di dalam project Anda. Untuk membuat VM dengan image kustom, Anda harus membuat image kustom terlebih dahulu di project yang sama, jika belum membuatnya.

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

gdcloud

  1. Cantumkan 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 boot disk.
    PROJECT Project GDC tempat boot disk akan dibuat.
    DISK_SIZE Ukuran boot disk harus minimal minimumDiskSize dari image.
    IMAGE_NAME Nama image.

API

  1. Mencantumkan semua image kustom:

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

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -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 image yang dipilih dari perintah list all custom images.
    PROJECT Project GDC tempat boot disk akan dibuat.
    BOOT_DISK_NAME Nama boot disk.
    DISK_SIZE Ukuran boot disk harus minimal minimumDiskSize dari image.

Apa langkah selanjutnya?