

 **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.

# Terapkan Mountpoint untuk driver Amazon S3
<a name="s3-csi-create"></a>

Dengan driver [Mountpoint for Amazon S3 Container Storage Interface (CSI)](https://github.com/awslabs/mountpoint-s3-csi-driver), aplikasi Kubernetes Anda dapat mengakses objek Amazon S3 melalui antarmuka sistem file, mencapai throughput agregat tinggi tanpa mengubah kode aplikasi apa pun.

Prosedur ini akan menunjukkan kepada Anda cara menerapkan driver [Mountpoint untuk Amazon S3 CSI](s3-csi.md) Amazon EKS. Sebelum melanjutkan, silakan tinjau [Pertimbangan](s3-csi.md#s3-csi-considerations).

## Prasyarat
<a name="s3-csi-prereqs"></a>
+ Penyedia OpenID Connect (OIDC) AWS Identity and Access Management (IAM) yang sudah ada untuk klaster Anda. Untuk menentukan apakah Anda sudah memiliki satu, atau harus membuat satu, lihat [Buat penyedia IAM OIDC untuk klaster Anda](enable-iam-roles-for-service-accounts.md).
+ Versi 2.12.3 atau yang lebih baru dari AWS CLI diinstal dan dikonfigurasi pada perangkat Anda atau. AWS CloudShell
+ Alat baris `kubectl` perintah diinstal pada perangkat Anda atau AWS CloudShell. Versinya bisa sama dengan atau hingga satu versi minor lebih awal atau lebih lambat dari versi Kubernetes dari klaster Anda. Misalnya, jika versi cluster Anda`1.29`, Anda dapat menggunakan `kubectl` versi`1.28`,`1.29`, atau `1.30` dengan itu. Untuk menginstal atau memutakhirkan `kubectl`, lihat [Mengatur `kubectl` dan `eksctl`](install-kubectl.md).

## Langkah 1: Buat kebijakan IAM
<a name="s3-create-iam-policy"></a>

Driver Mountpoint untuk Amazon S3 CSI memerlukan izin Amazon S3 untuk berinteraksi dengan sistem file Anda. Bagian ini menunjukkan cara membuat kebijakan IAM yang memberikan izin yang diperlukan.

Kebijakan contoh berikut mengikuti rekomendasi izin IAM untuk Mountpoint. Atau, Anda dapat menggunakan kebijakan AWS terkelola [AmazonS3 FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor), tetapi kebijakan terkelola ini memberikan lebih banyak izin daripada yang diperlukan untuk Mountpoint.

Untuk informasi selengkapnya tentang izin yang disarankan untuk Mountpoint, lihat Izin IAM [Mountpoint](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#iam-permissions) pada. GitHub

1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

1. Di panel navigasi di sebelah kiri, pilih **Kebijakan**.

1. Pada halaman **Kebijakan**, pilih **Buat kebijakan**.

1. Untuk **editor Kebijakan**, pilih **JSON**.

1. Di bawah **Editor kebijakan**, salin dan tempel yang berikut ini:
**penting**  
Ganti `amzn-s3-demo-bucket1` dengan nama bucket Amazon S3 Anda sendiri.

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
           {
               "Sid": "MountpointFullBucketAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1"
               ]
           },
           {
               "Sid": "MountpointFullObjectAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:AbortMultipartUpload",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*"
               ]
           }
      ]
   }
   ```

   Bucket direktori, diperkenalkan dengan kelas penyimpanan Amazon S3 Express One Zone, menggunakan mekanisme otentikasi yang berbeda dari bucket tujuan umum. Alih-alih menggunakan `s3:*` tindakan, Anda harus menggunakan `s3express:CreateSession` tindakan. Untuk informasi tentang bucket direktori, lihat [Bucket direktori di Panduan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) Pengguna *Amazon S3*.

   Di bawah ini adalah contoh kebijakan hak istimewa paling tidak yang akan Anda gunakan untuk bucket direktori.

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "s3express:CreateSession",
               "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket1--usw2-az1--x-s3"
           }
       ]
   }
   ```

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, beri nama kebijakan Anda. Contoh panduan ini menggunakan nama. `AmazonS3CSIDriverPolicy`

1. Pilih **Buat kebijakan**.

## Langkah 2: Buat peran IAM
<a name="s3-create-iam-role"></a>

Driver Mountpoint untuk Amazon S3 CSI memerlukan izin Amazon S3 untuk berinteraksi dengan sistem file Anda. Bagian ini menunjukkan cara membuat peran IAM untuk mendelegasikan izin ini. Untuk membuat peran ini, Anda dapat menggunakan salah satu alat ini:
+  [eksctl](#eksctl_s3_store_app_data) 
+  [Konsol Manajemen AWS](#console_s3_store_app_data) 
+  [AWS CLI](#awscli_s3_store_app_data) 

**catatan**  
Kebijakan IAM `AmazonS3CSIDriverPolicy` dibuat di bagian sebelumnya.

### eksctl
<a name="eksctl_s3_store_app_data"></a>

 **Untuk membuat peran IAM driver Mountpoint untuk Amazon S3 CSI Anda dengan `eksctl`** 

Untuk membuat peran IAM dan akun layanan Kubernetes, jalankan perintah berikut. Perintah ini juga melampirkan kebijakan `AmazonS3CSIDriverPolicy` IAM ke peran, membuat anotasi akun layanan Kubernetes (`s3-csi-controller-sa`) dengan Nama Sumber Daya Amazon (ARN) peran IAM, dan menambahkan nama akun layanan Kubernetes ke kebijakan kepercayaan untuk peran IAM.

```
CLUSTER_NAME=my-cluster
REGION=region-code
ROLE_NAME=AmazonEKS_S3_CSI_DriverRole
POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN
eksctl create iamserviceaccount \
    --name s3-csi-driver-sa \
    --namespace kube-system \
    --cluster $CLUSTER_NAME \
    --attach-policy-arn $POLICY_ARN \
    --approve \
    --role-name $ROLE_NAME \
    --region $REGION \
    --role-only
```

### Konsol Manajemen AWS
<a name="console_s3_store_app_data"></a>

1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

1. Di panel navigasi sebelah kiri, pilih **Peran**.

1. Pada halaman **Peran**, pilih **Buat peran**.

1. Pada halaman **Pilih entitas tepercaya**, lakukan hal berikut:

   1. Di bagian **Jenis entitas tepercaya**, pilih **Identitas web**.

   1. Untuk **penyedia Identity**, pilih **URL penyedia OpenID Connect** untuk klaster Anda (seperti yang ditunjukkan di bawah **Ikhtisar** di Amazon EKS).

      Jika tidak URLs ditampilkan, tinjau [Prasyarat](#s3-csi-prereqs).

   1. Untuk **Audiens**, pilih `sts.amazonaws.com`.

   1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, lakukan hal berikut:

   1. Di kotak **Filter kebijakan**, masukkan Kebijakan AmazonS3CSIDriver.
**catatan**  
Kebijakan ini dibuat di bagian sebelumnya.

   1. Pilih kotak centang di sebelah kiri `AmazonS3CSIDriverPolicy` hasil yang dikembalikan dalam pencarian.

   1. Pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, lakukan hal berikut:

   1. Untuk nama Peran, masukkan **nama unik untuk peran** Anda, seperti DriverRole Amazoneks\$1S3\$1CSI\$1.

   1. Di bawah **Tambahkan tag (Opsional)**, tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tanda di IAM, lihat [Menandai sumber daya IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

   1. Pilih **Buat peran**.

1. Setelah peran dibuat, pilih peran di konsol untuk dibuka, dan kemudian diedit.

1. Pilih tab **Trust relationship**, lalu pilih **Edit trust policy**.

1. Temukan baris yang serupa dengan yang berikut ini:

   ```
   "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com"
   ```

   Tambahkan koma ke akhir baris sebelumnya, lalu tambahkan baris berikut setelahnya. Ganti *region-code* dengan AWS Wilayah tempat klaster Anda berada. Ganti *EXAMPLED539D4633E53DE1B71EXAMPLE* dengan ID penyedia OIDC cluster Anda.

   ```
   "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:s3-csi-driver-sa"
   ```

1. Pastikan `Condition` operator disetel ke`"StringEquals"`.

1. Pilih **Perbarui kebijakan** untuk menyelesaikan.

### AWS CLI
<a name="awscli_s3_store_app_data"></a>

1. Lihat URL penyedia OIDC untuk klaster Anda. Ganti *my-cluster* dengan nama klaster Anda. Jika output dari perintah adalah `None`, tinjau [Prasyarat](#s3-csi-prereqs).

   ```
   aws eks describe-cluster --name my-cluster --query "cluster.identity.oidc.issuer" --output text
   ```

   Contoh output adalah sebagai berikut.

   ```
   https://oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
   ```

1. Buat IAM role, yang memberikan tindakan `AssumeRoleWithWebIdentity` untuk akun layanan Kubernetes.

   1. Salin konten berikut ke file bernama `aws-s3-csi-driver-trust-policy.json`. Ganti *111122223333* dengan ID akun Anda. Ganti *EXAMPLED539D4633E53DE1B71EXAMPLE* dan *region-code* dengan nilai yang dikembalikan pada langkah sebelumnya.

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
              "StringEquals": {
                "oidc.eks.us-east-1.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:s3-csi-driver-sa",
                "oidc.eks.us-east-1.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com"
              }
            }
          }
        ]
      }
      ```

   1. Buat peran. Anda dapat mengubah *AmazonEKS\$1S3\$1CSI\$1DriverRole* ke nama yang berbeda, tetapi jika Anda melakukannya, pastikan untuk mengubahnya juga dalam langkah berikutnya.

      ```
      aws iam create-role \
        --role-name AmazonEKS_S3_CSI_DriverRole \
        --assume-role-policy-document file://"aws-s3-csi-driver-trust-policy.json"
      ```

1. Lampirkan kebijakan IAM yang dibuat sebelumnya ke peran dengan perintah berikut.

   ```
   aws iam attach-role-policy \
     --policy-arn arn:aws: iam::aws:policy/AmazonS3CSIDriverPolicy \
     --role-name AmazonEKS_S3_CSI_DriverRole
   ```
**catatan**  
Kebijakan IAM `AmazonS3CSIDriverPolicy` dibuat di bagian sebelumnya.

1. Lewati langkah ini jika Anda menginstal driver sebagai add-on Amazon EKS. Untuk instalasi driver yang dikelola sendiri, buat akun layanan Kubernetes yang dianotasi dengan ARN dari peran IAM yang Anda buat.

   1. Simpan konten berikut ini ke file bernama `mountpoint-s3-service-account.yaml`. Ganti *111122223333* dengan ID akun Anda.

      ```
      ---
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/name: aws-mountpoint-s3-csi-driver
        name: mountpoint-s3-csi-controller-sa
        namespace: kube-system
        annotations:
          eks.amazonaws.com/role-arn: arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole
      ```

   1. Buat akun layanan Kubernetes di klaster Anda. Akun layanan Kubernetes (`mountpoint-s3-csi-controller-sa`) dianotasi dengan peran IAM yang Anda buat bernama. *AmazonEKS\$1S3\$1CSI\$1DriverRole*

      ```
      kubectl apply -f mountpoint-s3-service-account.yaml
      ```
**catatan**  
Ketika Anda menyebarkan plugin dalam prosedur ini, itu membuat dan dikonfigurasi untuk menggunakan akun layanan bernama`s3-csi-driver-sa`.

## Langkah 3: Instal Mountpoint untuk driver Amazon S3 CSI
<a name="s3-install-driver"></a>

Anda dapat menginstal driver Mountpoint untuk Amazon S3 CSI melalui add-on Amazon EKS. Anda dapat menggunakan alat berikut untuk menambahkan add-on ke cluster Anda:
+  [eksctl](#eksctl_s3_add_store_app_data) 
+  [Konsol Manajemen AWS](#console_s3_add_store_app_data) 
+  [AWS CLI](#awscli_s3_add_store_app_data) 

Atau, Anda dapat menginstal driver Mountpoint untuk Amazon S3 CSI sebagai instalasi yang dikelola sendiri. Untuk petunjuk cara melakukan instalasi yang dikelola sendiri, lihat [Instalasi aktif](https://github.com/awslabs/mountpoint-s3-csi-driver/blob/main/docs/install.md#deploy-driver). GitHub

Mulai dari`v1.8.0`, Anda dapat mengonfigurasi taint untuk mentolerir Pod driver CSI. Untuk melakukan ini, tentukan satu set noda khusus untuk ditoleransi `node.tolerations` atau mentolerir semua noda. `node.tolerateAllTaints` Untuk informasi selengkapnya, lihat [Taints and Tolerations dalam dokumentasi](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) Kubernetes.

### eksctl
<a name="eksctl_s3_add_store_app_data"></a>

 **Untuk menambahkan add-on Amazon S3 CSI menggunakan `eksctl`** 

Jalankan perintah berikut. Ganti *my-cluster* dengan nama klaster Anda, *111122223333* dengan ID akun Anda, dan *AmazonEKS\$1S3\$1CSI\$1DriverRole* dengan nama [peran IAM yang dibuat sebelumnya](#s3-create-iam-role).

```
eksctl create addon --name aws-mountpoint-s3-csi-driver --cluster my-cluster \
  --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole --force
```

Jika Anda menghapus *--force* opsi dan salah satu pengaturan add-on Amazon EKS bertentangan dengan pengaturan yang ada, pembaruan add-on Amazon EKS gagal, dan Anda menerima pesan kesalahan untuk membantu Anda menyelesaikan konflik. Sebelum menentukan opsi ini, pastikan add-on Amazon EKS tidak mengelola pengaturan yang perlu Anda kelola, karena pengaturan tersebut ditimpa dengan opsi ini. Untuk informasi selengkapnya tentang opsi lain untuk setelan ini, lihat [Addons](https://eksctl.io/usage/addons/) dalam `eksctl` dokumentasi. Untuk informasi selengkapnya tentang pengelolaan lapangan Amazon EKS Kubernetes, lihat. [Tentukan bidang yang dapat Anda sesuaikan untuk add-on Amazon EKS](kubernetes-field-management.md)

Anda dapat menyesuaikan `eksctl` melalui file konfigurasi. Untuk informasi selengkapnya, lihat [Bekerja dengan nilai konfigurasi](https://eksctl.io/usage/addons/#working-with-configuration-values) dalam `eksctl` dokumentasi. Contoh berikut menunjukkan bagaimana mentolerir semua noda.

```
# config.yaml
...

addons:
- name: aws-mountpoint-s3-csi-driver
  serviceAccountRoleARN: arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole
  configurationValues: |-
    node:
      tolerateAllTaints: true
```

### Konsol Manajemen AWS
<a name="console_s3_add_store_app_data"></a>

1. Buka [konsol Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Pada panel navigasi sebelah kiri, pilih **Klaster**.

1. Pilih nama cluster yang ingin Anda konfigurasikan add-on Mountpoint untuk Amazon S3 CSI.

1. Pilih tab **Add-ons**.

1. Pilih **Get more add-ons**

1. Pada halaman **Pilih add-on**, lakukan hal berikut:

   1. Di bagian **Amazon EKS-Addons**, pilih kotak centang **Mountpoint for Amazon S3 CSI Driver**.

   1. Pilih **Berikutnya**.

1. Pada halaman **Configure selected add-ons settings**, lakukan hal berikut:

   1. Pilih **Versi** yang ingin Anda gunakan.

   1. Untuk peran **Pilih IAM, pilih nama peran** IAM yang Anda lampirkan ke kebijakan IAM driver Mountpoint for Amazon S3 CSI.

   1. (Opsional) Perbarui **metode resolusi Konflik** setelah memperluas **pengaturan konfigurasi Opsional**. Jika Anda memilih **Override**, satu atau beberapa pengaturan untuk add-on yang ada dapat ditimpa dengan pengaturan add-on Amazon EKS. Jika Anda tidak mengaktifkan opsi ini dan ada konflik dengan pengaturan yang ada, operasi gagal. Anda dapat menggunakan pesan kesalahan yang dihasilkan untuk memecahkan masalah konflik. Sebelum memilih opsi ini, pastikan add-on Amazon EKS tidak mengelola pengaturan yang perlu Anda kelola sendiri.

   1. (Opsional) Konfigurasikan toleransi di bidang **Nilai konfigurasi** setelah memperluas **pengaturan konfigurasi opsional**.

   1. Pilih **Berikutnya**.

1. Pada halaman **Review dan add**, pilih **Create**. Setelah penginstalan add-on selesai, Anda melihat add-on yang diinstal.

### AWS CLI
<a name="awscli_s3_add_store_app_data"></a>

 **Untuk menambahkan add-on Mountpoint untuk Amazon S3 CSI menggunakan CLI AWS ** 

Jalankan perintah berikut. Ganti *my-cluster* dengan nama klaster Anda, *111122223333* dengan ID akun Anda, dan *AmazonEKS\$1S3\$1CSI\$1DriverRole* dengan nama peran yang dibuat sebelumnya.

```
aws eks create-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver \
  --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole
```

Anda dapat menyesuaikan perintah dengan `--configuration-values` bendera. Contoh alternatif berikut menunjukkan bagaimana mentolerir semua noda.

```
aws eks create-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver \
  --service-account-role-arn arn:aws: iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole \
  --configuration-values '{"node":{"tolerateAllTaints":true}}'
```

## Langkah 4: Konfigurasikan Mountpoint untuk Amazon S3
<a name="s3-configure-mountpoint"></a>

Dalam kebanyakan kasus, Anda dapat mengonfigurasi Mountpoint untuk Amazon S3 hanya dengan nama bucket. Untuk petunjuk tentang mengonfigurasi Mountpoint untuk Amazon S3, lihat Mengonfigurasi [Mountpoint untuk Amazon S3 aktif](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md). GitHub

## Langkah 5: Menyebarkan aplikasi sampel
<a name="s3-sample-app"></a>

Anda dapat menerapkan penyediaan statis ke driver di bucket Amazon S3 yang ada. Untuk informasi selengkapnya, lihat [Penyediaan statis aktif.](https://github.com/awslabs/mountpoint-s3-csi-driver/blob/main/examples/kubernetes/static_provisioning/README.md) GitHub