Gunakan penyimpanan Amazon EFS - Amazon EKS

Bantu tingkatkan halaman ini

Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan penyimpanan Amazon EFS

Amazon Elastic File System (Amazon EFS) menyediakan penyimpanan file tanpa server dan sepenuhnya elastis sehingga Anda dapat berbagi data file tanpa menyediakan atau mengelola kapasitas dan kinerja penyimpanan. Driver Amazon EFS Container Storage Interface (CSI) menyediakan antarmuka CSI yang memungkinkan Kubernetes cluster berjalan AWS untuk mengelola siklus hidup sistem file Amazon EFS. Topik ini menunjukkan cara menerapkan driver Amazon EFS CSI ke cluster Amazon EKS Anda.

Pertimbangan
Prasyarat
  • Penyedia AWS Identity and Access Management (IAM) OpenID Connect (OIDC) yang sudah ada untuk cluster Anda. Untuk menentukan apakah Anda sudah memiliki satu, atau harus membuat satu, lihat Buat OIDC penyedia IAM untuk klaster Anda.

  • Driver EFS CSI yang ada juga diperlukan karena penyimpanan tidak akan disediakan tanpa itu. Periksa Masalah Terkait.

  • Versi 2.12.3 atau yang lebih baru atau versi 1.27.160 atau yang lebih baru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda atau AWS CloudShell. Untuk memeriksa versi Anda saat ini, gunakanaws --version | cut -d / -f2 | cut -d ' ' -f1. Package manager seperti yumapt-get,, atau Homebrew untuk macOS sering beberapa versi di belakang versi terbaru dari file AWS CLI. Untuk menginstal versi terbaru, lihat Menginstal, memperbarui, dan menghapus konfigurasi AWS CLI dan Cepat dengan aws configure di Panduan AWS Command Line Interface Pengguna. AWS CLI Versi yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat Menginstal AWS CLI ke direktori home Anda di Panduan AWS CloudShell Pengguna.

  • Alat baris kubectl perintah diinstal pada perangkat Anda atau AWS CloudShell. Versi dapat sama dengan atau hingga satu versi minor lebih awal atau lebih lambat dari Kubernetes versi cluster Anda. Misalnya, jika versi cluster Anda1.29, Anda dapat menggunakan kubectl versi1.28,1.29, atau 1.30 dengan itu. Untuk menginstal atau memutakhirkan kubectl, lihat Mengatur kubectl dan eksctl.

catatan

PodRunning on AWS Fargate secara otomatis memasang sistem file Amazon EFS.

Membuat peran IAM

Driver Amazon EFS CSI memerlukan izin IAM untuk berinteraksi dengan sistem file Anda. Buat peran IAM dan lampirkan kebijakan AWS terkelola yang diperlukan padanya. Anda dapat menggunakaneksctl, AWS Management Console, atau AWS CLI.

catatan

Langkah-langkah spesifik dalam prosedur ini ditulis untuk menggunakan driver sebagai add-on Amazon EKS. Untuk detail tentang instalasi yang dikelola sendiri, lihat Mengatur izin driver pada. GitHub

eksctl

Untuk membuat peran IAM driver Amazon EFS CSI Anda dengan eksctl

Jalankan perintah berikut untuk membuat peran IAM. Ganti my-cluster dengan nama cluster Anda dan AmazonEKS_EFS_CSI_DriverRole dengan nama untuk peran Anda.

export cluster_name=my-cluster export role_name=AmazonEKS_EFS_CSI_DriverRole eksctl create iamserviceaccount \ --name efs-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --role-name $role_name \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --approve TRUST_POLICY=$(aws iam get-role --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \ sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/') aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"
AWS Management Console
Untuk membuat peran IAM driver Amazon EFS CSI Anda dengan AWS Management Console
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi sebelah kiri, pilih Peran.

  3. Pada halaman Peran, pilih Buat peran.

  4. Pada halaman Pilih entitas tepercaya, lakukan hal berikut:

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

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

    3. Untuk Audiens, pilih sts.amazonaws.com.

    4. Pilih Selanjutnya.

  5. Pada halaman Tambahkan izin, lakukan hal berikut:

    1. Di dalam kotak Filter kebijakan, masukkan AmazonEFSCSIDriverPolicy.

    2. Pilih kotak centang di sebelah kiri yang AmazonEFSCSIDriverPolicy dikembalikan dalam pencarian.

    3. Pilih Selanjutnya.

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

    1. Untuk nama Peran, masukkan nama unik untuk peran Anda, sepertiAmazonEKS_EFS_CSI_DriverRole.

    2. 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 di Panduan Pengguna IAM.

    3. Pilih Buat peran.

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

  8. Pilih tab Trust relationship, lalu pilih Edit trust policy.

  9. Temukan garis yang terlihat mirip dengan baris berikut:

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

    Tambahkan baris berikut di atas baris sebelumnya. Ganti region-code dengan tempat Wilayah AWS cluster Anda berada. Ganti EXAMPLED539D4633E53DE1B71EXAMPLE dengan ID penyedia OIDC cluster Anda.

    "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:efs-csi-*",
  10. Ubah Condition operator dari "StringEquals" ke"StringLike".

  11. Pilih Perbarui kebijakan untuk menyelesaikan.

AWS CLI
Untuk membuat peran IAM driver Amazon EFS CSI Anda dengan AWS CLI
  1. Lihat URL penyedia OIDC klaster Anda. Ganti my-cluster dengan nama klaster Anda. Jika output dari perintah adalah None, tinjau Prasyarat.

    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
  2. Buat peran IAM yang memberikan tindakan. AssumeRoleWithWebIdentity

    1. Salin isi berikut ke file bernama aws-efs-csi-driver-trust-policy.json. Ganti 111122223333 dengan ID akun Anda. Ganti EXAMPLED539D4633E53DE1B71EXAMPLE dan region-code dengan nilai yang dikembalikan pada langkah sebelumnya. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka ganti arn:aws: dengan. arn:aws-us-gov:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:efs-csi-*", "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] }
    2. Buat peran. Anda dapat mengubah AmazonEKS_EFS_CSI_DriverRole ke nama yang berbeda, tetapi jika Anda melakukannya, pastikan untuk mengubahnya juga dalam langkah berikutnya.

      aws iam create-role \ --role-name AmazonEKS_EFS_CSI_DriverRole \ --assume-role-policy-document file://"aws-efs-csi-driver-trust-policy.json"
  3. Lampirkan kebijakan AWS terkelola yang diperlukan ke peran dengan perintah berikut. Jika cluster Anda berada di AWS GovCloud (AS-Timur) atau AWS GovCloud (AS-Barat) Wilayah AWS, maka ganti arn:aws: dengan. arn:aws-us-gov:

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --role-name AmazonEKS_EFS_CSI_DriverRole

Dapatkan driver Amazon EFS CSI

Kami menyarankan Anda menginstal driver Amazon EFS CSI melalui add-on Amazon EKS. Untuk menambahkan add-on Amazon EKS ke cluster Anda, lihatMembuat add-on. Untuk informasi selengkapnya tentang add-on, lihatGunakan AWSAPIs untuk menginstal/memperbarui komponen cluster dengan add-on EKS. Jika Anda tidak dapat menggunakan add-on Amazon EKS, kami mendorong Anda untuk mengirimkan masalah tentang mengapa Anda tidak dapat ke repositori peta jalan GitHub Containers.

Atau, jika Anda ingin instalasi yang dikelola sendiri dari driver Amazon EFS CSI, lihat Instalasi aktif. GitHub

Buat sistem file Amazon EFS

Untuk membuat sistem file Amazon EFS, lihat Membuat sistem file Amazon EFS untuk Amazon EKS diGitHub.

Deploy aplikasi sampel

Anda dapat menerapkan berbagai contoh aplikasi dan memodifikasinya sesuai kebutuhan. Untuk informasi selengkapnya, lihat Contoh diGitHub.