Mengonfigurasi boot disk kustom


Halaman ini menunjukkan cara menyesuaikan boot disk node di cluster dan node pool Google Kubernetes Engine (GKE).

Ringkasan

Saat membuat cluster GKE atau node pool, Anda dapat memilih jenis Persistent Disk tempat sistem file node Kubernetes diinstal untuk setiap node. Secara default, GKE menggunakan Persistent Disk seimbang dalam versi 1.24 atau yang lebih baru. Anda juga dapat menentukan jenis Persistent Disk lainnya, seperti standar atau SSD. Untuk mengetahui informasi selengkapnya, lihat Opsi penyimpanan.

Persistent Disk Seimbang dan SSD memiliki kuota disk yang berbeda dengan kuota Persistent Disk standar. Jika beralih dari Persistent Disk standar ke seimbang, Anda mungkin perlu meminta penambahan kuota. Untuk mengetahui informasi selengkapnya, lihat Kuota resource.

Manfaat menggunakan boot disk SSD

Menggunakan Persistent Disk SSD sebagai boot disk untuk node Anda menawarkan beberapa manfaat performa:

  • Node memiliki waktu booting yang lebih cepat.
  • Biner dan file disajikan dari container yang tersedia untuk node dengan lebih cepat. Hal ini dapat meningkatkan performa untuk workload I/O intensif, seperti aplikasi layanan web yang menghosting file statis atau tugas batch I/O intensif berjangka pendek.
  • File yang disimpan di media lokal node (yang ditampilkan melalui volume hostPath atau emptyDir) dapat mengalami peningkatan performa I/O.

Menentukan jenis boot disk node

Anda dapat menentukan jenis boot disk saat membuat cluster atau node pool.

gcloud

Untuk membuat cluster dengan boot disk kustom, jalankan perintah berikut.

[DISK-TYPE] dapat berupa salah satu dari nilai berikut ini:

  • pd-balanced (default di versi 1.24 atau yang lebih baru)
  • pd-standard (default di versi 1.23 atau yang lebih lama)
  • pd-ssd
  • hyperdisk-balanced

Lihat Jenis Persistent Disk untuk mengetahui informasi selengkapnya tentang pilihan ini.

gcloud container clusters create [CLUSTER_NAME] --disk-type [DISK_TYPE]

Untuk membuat node pooldi cluster yang ada:

gcloud container node-pools create [POOL_NAME] --disk-type [DISK_TYPE]

Misalnya, perintah berikut akan membuat cluster, example-cluster, dengan jenis Persistent Disk SSD, pd-ssd:

gcloud container clusters create example-cluster --disk-type pd-ssd

Konsol

Untuk memilih boot disk saat membuat cluster dengan konsol Google Cloud:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Konfigurasi cluster Anda sesuai kebutuhan.

  4. Dari menu navigasi, luaskan default-pool dan klik Node.

  5. Di menu drop-down Boot disk type, pilih jenis Persistent Disk.

  6. Klik Create.

Untuk membuat node pool dengan boot disk kustom untuk cluster yang sudah ada:

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Klik Add Node Pool.

  4. Konfigurasikan kumpulan node sesuai kebutuhan.

  5. Dari menu navigasi, klik Node.

  6. Di menu drop-down Boot disk type, pilih jenis Persistent Disk.

  7. Klik Create.

Melindungi boot disk node

Boot disk node menyimpan image container, beberapa log proses sistem, log Pod, dan lapisan container yang dapat ditulis secara default.

Jika beban kerja Anda menggunakan volume configMap, emptyDir, atau hostPath, Pod Anda dapat menulis data tambahan ke disk booting node. Anda dapat mengonfigurasi emptyDir agar didukung oleh tmpfs untuk menghentikannya. Untuk mempelajari caranya, lihat dokumentasi Kubernetes. Karena volume secret, downwardAPI, dan projected didukung oleh tmpfs, Pod yang menggunakannya tidak akan menulis data ke boot disk node.

Secara default, Google Cloud mengenkripsi konten pelanggan dalam penyimpanan termasuk boot disk node, dan GKE mengelola enkripsi untuk Anda tanpa perlu tindakan apa pun dari Anda.

Namun, saat menggunakan volume yang menulis ke boot disk node, Anda mungkin ingin mengontrol lebih lanjut cara data workload Anda dilindungi di GKE. Anda dapat melakukannya dengan mencegah Pod menulis ke boot disk node , atau menggunakan Kunci Enkripsi yang Dikelola Pelanggan (CMEK) untuk boot disk node.

Mencegah Pod menulis ke boot disk

Untuk mencegah Pod menulis data langsung ke boot disk node, gunakan salah satu metode berikut.

Pengontrol Kebijakan

Pengontrol Kebijakan adalah fitur GKE Enterprise yang memungkinkan Anda mendeklarasikan dan menerapkan kebijakan kustom dalam skala besar di seluruh cluster GKE dalam armada.

  1. Menginstal Pengontrol Kebijakan.
  2. Tentukan batasan yang membatasi jenis volume berikut menggunakan template batasan k8sPspVolumeTypes:

Contoh batasan berikut membatasi jenis volume ini di semua Pod di cluster:

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sPSPVolumeTypes
metadata:
  name: deny-boot-disk-writes
spec:
  match:
    kinds:
    - apiGroups: [""]
      kinds: ["Pod"]
  parameters:
    volumes:
    - configMap
    - emptyDir
    - hostPath

Pengontrol penerimaan PodSecurity

Dengan pengontrol penerimaan PodSecurity Kubernetes bawaan, Anda dapat menerapkan berbagai level Standar Keamanan Pod di namespace atau cluster tertentu. Kebijakan yang Dibatasi mencegah Pod menulis ke boot disk node.

Untuk menggunakan pengontrol penerimaan PodSecurity, lihat Menerapkan kebijakan keamanan level Pod yang telah ditetapkan sebelumnya menggunakan PodSecurity.

Enkripsi yang dikelola pelanggan

Jika ingin mengontrol dan mengelola sendiri rotasi kunci enkripsi, Anda dapat menggunakan Kunci Enkripsi yang Dikelola Pelanggan (CMEK). Kunci ini digunakan untuk mengenkripsi kunci enkripsi data yang mengenkripsi data Anda. Untuk mempelajari cara menggunakan CMEK untuk boot disk node, lihat Menggunakan kunci enkripsi yang dikelola pelanggan.

Keterbatasan CMEK untuk boot disk node adalah bahwa CMEK tidak dapat diubah setelah pembuatan node pool. Artinya:

  • Jika node pool dibuat dengan enkripsi yang dikelola pelanggan, Anda tidak dapat menonaktifkan enkripsi di boot disk.
  • Jika node pool dibuat tanpa enkripsi yang dikelola pelanggan, Anda tidak dapat mengaktifkan enkripsi di boot disk. Namun, Anda dapat membuat node pool baru dengan enkripsi yang dikelola pelanggan diaktifkan dan menghapus node pool sebelumnya.

Batasan

Sebelum mengonfigurasi boot disk kustom, pertimbangkan keterbatasan berikut:

Langkah selanjutnya