Bantu meningkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih GitHub tautan Edit halaman ini di yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat kelas penyimpanan
A StorageClass dalam Mode Otomatis Amazon EKS mendefinisikan bagaimana volume Amazon EBS disediakan secara otomatis saat aplikasi meminta penyimpanan persisten. Halaman ini menjelaskan cara membuat dan mengonfigurasi StorageClass yang berfungsi dengan Mode Otomatis Amazon EKS untuk menyediakan volume EBS.
Dengan mengonfigurasi aStorageClass, Anda dapat menentukan pengaturan default untuk volume EBS Anda termasuk jenis volume, enkripsi, IOPS, dan parameter penyimpanan lainnya. Anda juga dapat mengonfigurasi StorageClass untuk menggunakan kunci AWS KMS untuk manajemen enkripsi.
Mode Otomatis EKS tidak membuat StorageClass untuk Anda. Anda harus membuat StorageClass referensi ebs.csi.eks.amazonaws.com untuk menggunakan kemampuan penyimpanan Mode Otomatis EKS.
Pertama, buat file bernamastorage-class.yaml:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: auto-ebs-sc annotations: storageclass.kubernetes.io/is-default-class: "true" allowedTopologies: - matchLabelExpressions: - key: eks.amazonaws.com/compute-type values: - auto provisioner: ebs.csi.eks.amazonaws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 encrypted: "true"
Kedua, terapkan kelas penyimpanan ke cluster Anda.
kubectl apply -f storage-class.yaml
Komponen kunci:
-
provisioner: ebs---csi---eks.amazonaws.com.rproxy.govskope.ca- Menggunakan Mode Otomatis EKS -
allowedTopologies- MenmatchLabelExpressionsentukan untuk mencocoeks.amazonaws.com/compute-type:autokkan akan memastikan bahwa jika pod Anda memerlukan volume untuk disediakan secara otomatis menggunakan Mode Otomatis maka pod tidak akan dijadwalkan pada node non-Auto. -
volumeBindingMode: WaitForFirstConsumer- Menunda pembuatan volume sampai pod membutuhkannya -
type: gp3- Menentukan jenis volume EBS -
encrypted: "true"- EBS akan mengenkripsi volume apa pun yang dibuat menggunakan.StorageClassEBS akan menggunakan aliasaws/ebskunci default. Untuk informasi selengkapnya, lihat Cara kerja enkripsi Amazon EBS di Panduan Pengguna Amazon EBS. Nilai ini opsional tetapi disarankan. -
storageclass.kubernetes.io/is-default-class: "true"- Kubernetes akan menggunakan kelas penyimpanan ini secara default, kecuali jika Anda menentukan kelas volume yang berbeda pada klaim volume persisten. Nilai ini bersifat opsional. Berhati-hatilah saat menyetel nilai ini jika Anda bermigrasi dari pengontrol penyimpanan yang berbeda.
Gunakan kunci KMS yang dikelola sendiri untuk mengenkripsi volume EBS
Untuk menggunakan kunci KMS yang dikelola sendiri untuk mengenkripsi volume EBS yang diotomatisasi oleh Mode Otomatis EKS, Anda perlu:
-
Buat kunci KMS yang dikelola sendiri.
-
Untuk informasi selengkapnya, lihat Membuat kunci KMS enkripsi simetris atau Cara Amazon Elastic Block Store (Amazon EBS) menggunakan KMS di Panduan Pengguna KMS.
-
-
Buat kebijakan baru yang mengizinkan akses ke kunci KMS.
-
Gunakan contoh kebijakan IAM di bawah ini untuk membuat kebijakan. Masukkan ARN dari kunci KMS yang dikelola sendiri yang baru. Untuk informasi selengkapnya, lihat Membuat peran dan melampirkan kebijakan (konsol) di Panduan AWS Pengguna IAM.
-
-
Lampirkan kebijakan ke Peran Cluster EKS.
-
Gunakan AWS konsol untuk menemukan ARN dari EKS Cluster Role. Informasi peran terlihat di bagian Ikh tisar. Untuk informasi selengkapnya, lihat IAM role klaster Amazon EKS.
-
-
Perbarui
StorageClassuntuk mereferensikan ID KMS Key diparameters.kmsKeyIdbidang.
Contoh Kebijakan KMS IAM yang dikelola sendiri
Perbarui nilai-nilai berikut dalam kebijakan di bawah ini:
-
<account-id>— ID AWS akun Anda, seperti111122223333 -
<aws-region>— AWS Wilayah cluster Anda, sepertius-west-2
{ "Version":"2012-10-17", "Id": "key-auto-policy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access through EBS for all principals in the account that are authorized to use EBS", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "123456789012", "kms:ViaService": "ec2.us-east-1.amazonaws.com" } } } ] }
Contoh KMS yang dikelola sendiri StorageClass
parameters: type: gp3 encrypted: "true" kmsKeyId: <custom-key-arn>
StorageClassParameter Referensi
Untuk informasi umum tentang StorageClass sumber daya Kubernetes, lihat Kelas Penyimpanan di Dokument
parametersBagian sumber StorageClass daya khusus untuk AWS. Gunakan tabel berikut untuk meninjau opsi yang tersedia.
| Parameter | Nilai | Default | Deskripsi |
|---|---|---|---|
|
“csi.storage.k8s. io/fstype” |
xfs, ext2, ext3, ext4 |
ext4 |
Jenis sistem file yang akan diformat selama pembuatan volume. Parameter ini peka huruf besar/kecil! |
|
“Tipe” |
io1, io2, gp2, gp3, sc1, st1, standar, sbp1, sbg1 |
gp3 |
Jenis volume EBS. |
|
“IopsperGB” |
I/O operasi per detik per GiB. Dapat ditentukan untuk volume IO1, IO2, dan GP3. |
||
|
“IzinkanAutoIOPSPerGBIncrease” |
benar, salah |
false |
Ketika |
|
“Iops” |
I/O operasi per detik. Dapat ditentukan untuk volume IO1, IO2, dan GP3. |
||
|
“throughput” |
125 |
Throughput masuk MiB/s. Hanya efektif bila tipe volume gp3 ditentukan. |
|
|
“terenkripsi” |
benar, salah |
false |
Apakah volume harus dienkripsi atau tidak. Nilai yang valid adalah “benar” atau “salah”. |
|
“BlokEkspres” |
benar, salah |
false |
Mengaktifkan pembuatan volume IO2 Block Express. |
|
“km” KeyId |
ARN penuh kunci untuk digunakan saat mengenkripsi volume. Jika tidak ditentukan, AWS akan menggunakan kunci KMS default untuk wilayah volume berada. Ini akan menjadi kunci yang dihasilkan secara otomatis yang dipanggil |
||
|
“Ukuran blok” |
Ukuran blok yang digunakan saat memformat sistem file yang mendasarinya. Hanya didukung pada node linux dan dengan fstype |
||
|
“InoDesiSize” |
Ukuran inode yang digunakan saat memformat sistem file yang mendasarinya. Hanya didukung pada node linux dan dengan fstype |
||
|
“bytePerInode” |
|
||
|
“nomorOfInodes” |
|
||
|
“ext4" BigAlloc |
benar, salah |
false |
Mengubah |
|
“ext4" ClusterSize |
Ukuran cluster yang digunakan saat memformat |
Untuk informasi selengkapnya, lihat Driver AWS
Pertimbangan-pertimbangan
catatan
Anda hanya dapat menerapkan beban kerja tergantung pada Mode Otomatis EKS StorageClasses pada node Mode Otomatis EKS. Jika Anda memiliki cluster dengan tipe node campuran, Anda perlu mengonfigurasi beban kerja Anda agar hanya berjalan pada node Mode Otomatis EKS. Untuk informasi selengkapnya, lihat Kontrol jika beban kerja diterapkan pada node Mode Otomatis EKS.
Kemampuan penyimpanan blok dari EKS Auto Mode berbeda dengan EBS CSI Driver.
-
Penyediaan Statis
-
Jika Anda ingin menggunakan volume EBS yang dibuat secara eksternal dengan Mode Otomatis EKS, Anda perlu menambahkan AWS tag secara manual dengan kunci
eks:eks-cluster-namedan nilai nama cluster.
-
-
Taint Startup Node
-
Anda tidak dapat menggunakan fitur node-startup taint untuk mencegah penjadwalan pod sebelum kesiapan kemampuan penyimpanan
-
-
Tag Kustom pada Volume yang Disediakan Secara Dinamis
-
Anda tidak dapat menggunakan tanda CLI ekstra tag untuk mengonfigurasi tag khusus pada volume EBS yang disediakan secara dinamis
-
Anda dapat menggunakan
StorageClasstagging untuk menambahkan tag khusus. Mode Otomatis EKS akan menambahkan tag ke AWS sumber daya terkait. Anda perlu memperbarui Peran IAM Cluster untuk tag kustom. Untuk informasi selengkapnya, lihat Khusus AWS tag untuk EKS Sumber daya otomatis.
-
-
Metrik Kinerja Detil EBS
-
Anda tidak dapat mengakses metrik Prometheus untuk kinerja terperinci EBS
-
Annotation-based Modifikasi volume EBS tidak digunakan lagi
volume-modifier-for-k8sVolumeAttributesClasstypeiops, atauthroughput) setelah tanggal tersebut, gunakan Kubernet VolumeAttributesClass es API sebagai gantinya. Untuk informasi selengkapnya, lihat Kelas Atribut Volume
Bermigrasi dari volume-modier-for-k8s ke VolumeAttributesClass
Untuk cluster Mode Otomatis EKS yang menjalankan Kubernetes 1.34 atau yang lebih baru, gunakan VolumeAttributesClass (VAC) untuk mengubah jenis volume EBS, IOPS, atau throughput.
PVC yang ada dapat dimigrasikan di tempat dengan membuat VAC dan pengaturan spec.volumeAttributesClassName pada PVC yang ada. PVC dan PV tidak dibuat ulang dan tidak ada gangguan pada beban kerja Anda selama proses ini.
-
Tentukan pengaturan volume dalam VAC
Memetakan anotasi VMK ke parameter VAC sebagai berikut:
Anotasi VMK yang ada Parameter VAC ebs.csi.eks.amazonaws.com/volumeTypejenis
ebs.csi.eks.amazonaws.com/iopsiops
ebs.csi.eks.amazonaws.com/throughputthroughput
Gunakan
type, bukanvolumeType, di VAC. Nilai harus berupa string, dan VAC hanya membutuhkan parameter yang relevan dengan konfigurasi EBS yang diinginkan. Contoh:apiVersion: storage.k8s.io/v1 kind: VolumeAttributesClass metadata: name: ebs-auto-gp3-6000-250 driverName: ebs.csi.eks.amazonaws.com parameters: type: gp3 iops: "6000" throughput: "250"VAC memiliki cakupan cluster, jadi manifes tidak memiliki namespace. Terapkan secara normal:
kubectl apply -f vac.yaml -
Tetapkan VAC ke PVC
VAC_NAME=ebs-auto-gp3-6000-250 kubectl patch pvc <pvc-name> -n <namespace> --type=merge \ -p "{\"spec\":{\"volumeAttributesClassName\":\"${VAC_NAME}\"}}" -
Konfirmasikan bahwa perubahan selesai
kubectl get pvc <pvc-name> -n <namespace> \ -o custom-columns='NAME:.metadata.name,REQUESTED:.spec.volumeAttributesClassName,CURRENT:.status.currentVolumeAttributesClassName,STATUS:.status.modifyVolumeStatus.status'Migrasi selesai ketika
REQUESTEDdanCURRENTberisi nama VAC yang sama danSTATUSkosong.Jika tidak selesai, periksa peristiwa PVC:
kubectl describe pvc <pvc-name> -n <namespace>Pendingbiasanya berarti VAC yang direferensikan tidak tersedia.Infeasibleberarti pengemudi menolak parameter EBS yang diminta; buat VAC yang valid dan tetapkan sebagai gantinya.
Opsional: Hapus anotasi VMK
Menghapus anotasi lama tidak diperlukan agar VAC berfungsi. Setelah PVC atau PV mereferensikan VAC, VMK menolak modifikasi berbasis anotasi dan VAC adalah jalur otoritatif.
Anotasi dapat dihapus nanti sebagai pembersihan konfigurasi. Jika dihapus, perbarui juga Helm, GitOps, atau otomatisasi lain yang akan menambahkannya kembali. Anotasi status VMK yang tersisa di PV tidak berbahaya dan tidak perlu dihapus.
Mengubah atau Mengembalikan Pengaturan
Parameter VAC tidak dapat diubah. Untuk mengubah konfigurasi EBS, buat VAC lain dan tetapkan namanya ke PVC.
Untuk membatalkan perubahan yang belum selesai, kembalikan VAC yang ditetapkan sebelumnya. Jika PVC sebelumnya tidak menggunakannya, bersihkan bidang:
kubectl patch pvc <pvc-name> -n <namespace> --type=merge \ -p '{"spec":{"volumeAttributesClassName":null}}'
Menghapus bidang tidak membatalkan modifikasi EBS yang sudah selesai. Untuk mengembalikan pengaturan volume sebelumnya, buat VAC yang berisi pengaturan tersebut dan tetapkan ke PVC. Batasan parameter EBS normal dan cooldown modifikasi berlaku.
Instal add-on CSI Snapshot Controller
Mode Otomatis EKS kompatibel dengan add-on CSI Snapshot Controller Amazon EKS.
AWS menyarankan Anda mengonfigurasi add-on ini untuk berjalan di kumpulan system node bawaan.
Untuk informasi selengkapnya, lihat:
Untuk menginstal pengontrol snapshot di kumpulan node sistem
-
Buka cluster EKS Anda di AWS konsol
-
Dari Add-ons tab, pilih Dapatkan add-on lainnya
-
Pilih CSI Snapshot Controller dan kemudian Berikutnya
-
Pada halaman Konfigurasi pengaturan add-on yang dipilih, pilih Pengaturan konfigurasi opsional untuk melihat skema Add-on konfigurasi
-
Masukkan yaml berikut untuk mengaitkan pengontrol snapshot dengan kumpulan
systemnode. Pengontrol snapshot menyertakan toleransi untuk nodaCriticalAddonsOnly.{ "nodeSelector": { "karpenter.sh/nodepool": "system" } } -
Pilih Ber ikutnya
-
-
Tinjau konfigurasi add-on lalu pilih Buat