

 **Bantu tingkatkan 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 **Edit halaman ini pada GitHub** tautan 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 name="create-storage-class"></a>

A `StorageClass` di Amazon EKS Auto Mode mendefinisikan bagaimana volume Amazon EBS secara otomatis disediakan ketika 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 a`StorageClass`, Anda dapat menentukan pengaturan default untuk volume EBS Anda termasuk jenis volume, enkripsi, IOPS, dan parameter penyimpanan lainnya. Anda juga dapat mengkonfigurasi `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 bernama`storage-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`- Menggunakan Mode Otomatis EKS
+  `allowedTopologies`- Menentukan `matchLabelExpressions` untuk mencocokkan `eks.amazonaws.com/compute-type:auto` akan memastikan bahwa jika pod Anda membutuhkan volume untuk secara otomatis disediakan menggunakan Mode Otomatis maka pod tidak akan dijadwalkan pada node non-Otomatis.
+  `volumeBindingMode: WaitForFirstConsumer`- Menunda pembuatan volume hingga pod membutuhkannya
+  `type: gp3`- Menentukan jenis volume EBS
+  `encrypted: "true"`- EBS akan mengenkripsi volume apa pun yang dibuat menggunakan file. `StorageClass` EBS akan menggunakan alias `aws/ebs` kunci default. Untuk informasi selengkapnya, lihat [Cara kerja enkripsi Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/how-ebs-encryption-works.html) 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
<a name="_use_self_managed_kms_key_to_encrypt_ebs_volumes"></a>

Untuk menggunakan kunci KMS yang dikelola sendiri untuk mengenkripsi volume EBS yang diotomatisasi oleh Mode Otomatis EKS, Anda perlu:

1. Buat kunci KMS yang dikelola sendiri.
   + Untuk informasi selengkapnya, lihat [Membuat kunci KMS enkripsi simetris atau Cara](https://docs.aws.amazon.com/kms/latest/developerguide/create-symmetric-cmk.html) [Amazon Elastic Block Store (Amazon EBS) menggunakan](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html) KMS di Panduan Pengguna KMS.

1. 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html) di Panduan Pengguna AWS IAM.

1. Lampirkan kebijakan ke Peran Kluster EKS.
   + Gunakan AWS konsol untuk menemukan ARN dari EKS Cluster Role. Informasi peran terlihat di bagian **Ikhtisar**. Untuk informasi selengkapnya, lihat [IAM role klaster Amazon EKS](cluster-iam-role.md).

1. Perbarui `StorageClass` untuk mereferensikan ID Kunci KMS di `parameters.kmsKeyId` lapangan.

### Contoh Kebijakan IAM KMS yang dikelola sendiri
<a name="_sample_self_managed_kms_iam_policy"></a>

Perbarui nilai-nilai berikut dalam kebijakan di bawah ini:
+  `<account-id>`ID AWS akun Anda, seperti `111122223333` 
+  `<aws-region>`— AWS Wilayah cluster Anda, seperti `us-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`
<a name="_sample_self_managed_kms_storageclass"></a>

```
parameters:
  type: gp3
  encrypted: "true"
  kmsKeyId: <custom-key-arn>
```

## `StorageClass`Parameter Referensi
<a name="_storageclass_parameters_reference"></a>

Untuk informasi umum tentang `StorageClass` sumber daya Kubernetes, lihat [Kelas Penyimpanan](https://kubernetes.io/docs/concepts/storage/storage-classes/) di Dokumentasi Kubernetes.

THe `parameters`bagian dari `StorageClass` sumber 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\$1  | 
|  “ketik”  |  io1, io2, gp2, gp3, sc1, st1, standar, sbp1, sbg1  |  gp3  |  Jenis volume EBS.  | 
|  “iOpsPerGB”  |  |  |  Operasi I/O per detik per GiB. Dapat ditentukan untuk IO1, IO2, dan GP3 volume.  | 
|  “AllowAuto IOPSPerGBIncrease”  |  benar, salah  |  false  |  Ketika`"true"`, driver CSI meningkatkan IOPS untuk volume ketika `iopsPerGB * <volume size>` terlalu rendah untuk masuk ke dalam rentang IOPS yang didukung oleh. AWS Hal ini memungkinkan penyediaan dinamis untuk selalu berhasil, bahkan ketika pengguna menentukan kapasitas atau nilai PVC yang terlalu kecil. `iopsPerGB` Di sisi lain, ini mungkin menimbulkan biaya tambahan, karena volume tersebut memiliki IOPS yang lebih tinggi daripada yang diminta. `iopsPerGB`  | 
|  “iops”  |  |  |  Operasi I/O per detik. Dapat ditentukan untuk IO1, IO2, dan GP3 volume.  | 
|  “throughput”  |  |  125  |  Throughput dalam MIB/s. Hanya efektif ketika tipe volume gp3 ditentukan.  | 
|  “dienkripsi”  |  benar, salah  |  false  |  Apakah volume harus dienkripsi atau tidak. Nilai yang valid adalah “benar” atau “salah”.  | 
|  “BlockExpress”  |  benar, salah  |  false  |  Memungkinkan pembuatan volume Blok Ekspres io2.  | 
|  "kmsKeyId"  |  |  |  ARN penuh dari kunci untuk digunakan saat mengenkripsi volume. Jika tidak ditentukan, AWS akan menggunakan kunci KMS default untuk wilayah volume berada. Ini akan menjadi kunci yang dibuat secara otomatis yang disebut `/aws/ebs` jika tidak diubah.  | 
|  “BlockSize”  |  |  |  Ukuran blok yang akan digunakan saat memformat sistem file yang mendasarinya. Hanya didukung pada node linux dan dengan fstype`ext2`,, `ext3``ext4`, atau. `xfs`  | 
|  “InodeSize”  |  |  |  Ukuran inode yang digunakan saat memformat sistem file yang mendasarinya. Hanya didukung pada node linux dan dengan fstype`ext2`,, `ext3``ext4`, atau. `xfs`  | 
|  "bytesPerInode"  |  |  |  Yang `bytes-per-inode` digunakan saat memformat sistem file yang mendasarinya. Hanya didukung pada node linux dan dengan fstype`ext2`,,`ext3`. `ext4`  | 
|  "numberOfInodes"  |  |  |  Yang `number-of-inodes` digunakan saat memformat sistem file yang mendasarinya. Hanya didukung pada node linux dan dengan fstype`ext2`,,`ext3`. `ext4`  | 
|  “BigAllocext4"  |  benar, salah  |  false  |  Mengubah sistem `ext4` file untuk menggunakan alokasi blok berkerumun dengan mengaktifkan opsi pemformatan. `bigalloc` Peringatan: `bigalloc` mungkin tidak sepenuhnya didukung dengan kernel Linux node Anda.  | 
|  “ClusterSizeext4"  |  |  |  Ukuran cluster yang akan digunakan saat memformat sistem `ext4` file saat fitur diaktifkan. `bigalloc` Catatan: `ext4BigAlloc` Parameter harus diatur ke true.  | 

Untuk informasi selengkapnya, lihat [Driver AWS EBS CSI](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/docs/parameters.md) di. GitHub

## Pertimbangan-pertimbangan
<a name="_considerations"></a>

**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 berjalan hanya pada node Mode Otomatis EKS. Untuk informasi selengkapnya, lihat [Kontrol jika beban kerja diterapkan pada node Mode Otomatis EKS](associate-workload.md).

Kemampuan penyimpanan blok EKS Auto Mode berbeda dari 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-name` dan nilai nama cluster.
+ Noda Startup Node
  + Anda tidak dapat menggunakan fitur taint startup node untuk mencegah penjadwalan pod sebelum kesiapan kemampuan penyimpanan
+ Tag Kustom pada Volume yang Disediakan Secara Dinamis
  + Anda tidak dapat menggunakan flag CLI tag ekstra untuk mengonfigurasi tag khusus pada volume EBS yang disediakan secara dinamis
  + Anda dapat menggunakan `StorageClass` penandaan untuk menambahkan tag khusus. Mode Otomatis EKS akan menambahkan tag ke AWS sumber daya terkait. Anda perlu memperbarui Peran IAM Cluster untuk tag khusus. Untuk informasi selengkapnya, lihat [AWS Tag khusus untuk sumber daya EKS Auto](auto-learn-iam.md#tag-prop).
+ Metrik Kinerja Terperinci EBS
  + Anda tidak dapat mengakses metrik Prometheus untuk performa rinci EBS

## Instal add-on CSI Snapshot Controller
<a name="_install_csi_snapshot_controller_add_on"></a>

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 lebih lanjut, lihat:
+  [Jalankan add-on penting pada instance khusus](critical-workload.md) 
+  [Aktifkan atau Nonaktifkan Built-in NodePools](set-builtin-node-pools.md) 
+  [Aktifkan fungsionalitas snapshot untuk volume CSI](csi-snapshot-controller.md) 

### Untuk menginstal pengontrol snapshot di kumpulan node sistem
<a name="auto-install-snapshot-controller"></a>

1. Buka kluster EKS Anda di AWS konsol

1. Dari tab **Add-ons**, pilih **Dapatkan lebih banyak** add-on 

1. **Pilih **CSI Snapshot Controller** dan kemudian Berikutnya** 

1. Pada halaman **Konfigurasi pengaturan add-on yang dipilih, pilih Pengaturan** **konfigurasi opsional** untuk melihat skema konfigurasi **Add-on** 

   1. Masukkan yaml berikut untuk mengaitkan pengontrol snapshot dengan kumpulan `system` node. Pengontrol snapshot mencakup toleransi terhadap noda. `CriticalAddonsOnly`

      ```
      {
              "nodeSelector": {
                  "karpenter.sh/nodepool": "system"
              }
      }
      ```

   1. Pilih **Berikutnya** 

1. **Tinjau konfigurasi add-on dan kemudian pilih Buat** 