IAM role simpul Amazon EKS - 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.

IAM role simpul Amazon EKS

kubeletDaemon node Amazon EKS melakukan panggilan ke AWS API atas nama Anda. Simpul menerima izin untuk panggilan API ini melalui profil instans IAM dan kebijakan terkait. Sebelum Anda dapat meluncurkan simpul dan mendaftarkannya ke dalam sebuah klaster, Anda harus membuat IAM role untuk digunakan oleh simpul ketika diluncurkan. Persyaratan ini berlaku untuk simpul yang diluncurkan dengan AMI yang dioptimalkan oleh Amazon EKS dan disediakan oleh Amazon, atau dengan AMI simpul lainnya yang ingin Anda gunakan. Selain itu, persyaratan ini berlaku untuk grup node terkelola dan node yang dikelola sendiri.

catatan

Anda tidak dapat menggunakan peran yang sama yang digunakan untuk membuat cluster apa pun.

Sebelum membuat node, Anda harus membuat peran IAM dengan izin berikut:

  • Izin kubelet untuk menjelaskan sumber daya Amazon EC2 di VPC, seperti yang disediakan oleh kebijakan. AmazonEKSWorkerNodePolicy Kebijakan ini juga memberikan izin untuk Agen Identitas Pod Amazon EKS.

  • Izin kubelet untuk menggunakan gambar kontainer dari Amazon Elastic Container Registry (Amazon ECR) Registry, seperti yang disediakan oleh kebijakan. AmazonEC2ContainerRegistryReadOnly Izin untuk menggunakan image kontainer dari Amazon Elastic Container Registry (Amazon ECR) diperlukan karena add-on bawaan untuk pod yang menjalankan jaringan yang menggunakan image kontainer dari Amazon ECR.

  • (Opsional) Izin untuk Amazon EKS Pod Identity Agent untuk menggunakan eks-auth:AssumeRoleForPodIdentity action tersebut guna mengambil kredensial Pod. Jika Anda tidak menggunakan WorkerNodePolicyAmazoneks, maka Anda harus memberikan izin ini selain izin EC2 untuk menggunakan EKS Pod Identity.

  • (Opsional) Jika Anda tidak menggunakan IRSA atau EKS Pod Identity untuk memberikan izin ke pod VPC CNI, maka Anda harus memberikan izin untuk VPC CNI pada peran instance. Anda dapat menggunakan kebijakan AmazonEKS_CNI_Policy terkelola (jika Anda membuat klaster dengan IPv4 keluarga) atau kebijakan IPv6 yang Anda buat (jika Anda membuat klaster dengan IPv6 keluarga). Namun, alih-alih melampirkan kebijakan ke peran ini, sebaiknya Anda melampirkan kebijakan tersebut ke peran terpisah yang digunakan khusus untuk add-on Amazon VPC CNI. Untuk informasi selengkapnya tentang membuat peran terpisah untuk add-on Amazon VPC CNI, lihat. Mengkonfigurasi Amazon VPC CNI plugin for Kubernetes untuk menggunakan peran IAM untuk akun layanan (IRSA)

catatan

Sebelum 3 Oktober 2023, AmazonEKSWorkerNodePolicy dan AmazonEC2ContainerRegistryReadOnly diperlukan pada peran IAM untuk setiap grup node yang dikelola.

Grup node Amazon EC2 harus memiliki peran IAM yang berbeda dari profil Fargate. Untuk informasi selengkapnya, lihat Peran IAM Pod eksekusi Amazon EKS.

Periksa apakah peran simpul sudah ada

Anda dapat menggunakan prosedur berikut untuk memeriksa dan melihat apakah akun Anda sudah memiliki peran simpul Amazon EKS.

Untuk memeriksa eksNodeRole di dalam konsol IAM
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi sebelah kiri, pilih Peran.

  3. Cari daftar peran untukeksNodeRole,AmazonEKSNodeRole, atauNodeInstanceRole. Jika peran dengan salah satu nama itu tidak ada, maka lihat Membuat IAM role simpul Amazon EKS untuk membuat peran tersebut. Jika peran yang berisieksNodeRole,AmazonEKSNodeRole, atau NodeInstanceRole memang ada, pilih peran untuk melihat kebijakan terlampir.

  4. Pilih Izin.

  5. Pastikan bahwa kebijakan terkelola WorkerNodePolicy AmazonEks dan ContainerRegistryReadOnly Amazonec2 dilampirkan ke peran atau kebijakan khusus dilampirkan dengan izin minimal.

    catatan

    Jika kebijakan AmazonEks_CNI_Policy dilampirkan ke peran, kami sarankan untuk menghapusnya dan melampirkannya ke peran IAM yang dipetakan ke akun layanan sebagai gantinya. aws-node Kubernetes Untuk informasi selengkapnya, lihat Mengkonfigurasi Amazon VPC CNI plugin for Kubernetes untuk menggunakan peran IAM untuk akun layanan (IRSA).

  6. Pilih Trust relationship, lalu pilih Edit trust policy.

  7. Verifikasi bahwa hubungan kepercayaan berisi kebijakan berikut. Jika hubungan kepercayaan sesuai dengan kebijakan berikut, pilih Cancel (Batalkan). Jika hubungan kepercayaan tidak cocok, salin kebijakan ke jendela Edit kebijakan kepercayaan dan pilih Perbarui kebijakan.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Membuat IAM role simpul Amazon EKS

Anda dapat membuat peran IAM node dengan AWS Management Console atau. AWS CLI

AWS Management Console
Untuk membuat peran simpul Amazon EKS di dalam konsol IAM
  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 AWS layanan.

    2. Di bawah Kasus penggunaan, pilih EC2.

    3. Pilih Berikutnya.

  5. Pada halaman Tambahkan izin, lampirkan kebijakan khusus atau lakukan hal berikut:

    1. Di dalam kotak Filter kebijakan, masukkan AmazonEKSWorkerNodePolicy.

    2. Pilih kotak centang di sebelah kiri WorkerNodePolicyAmazonEks di hasil pencarian.

    3. Pilih Hapus filter.

    4. Di dalam kotak Filter kebijakan, masukkan AmazonEC2ContainerRegistryReadOnly.

    5. Pilih kotak centang di sebelah kiri AmazonEC2 ContainerRegistryReadOnly di hasil pencarian.

      Kebijakan terkelola Amazoneks_CNI_Policy, atau kebijakan IPv6 yang Anda buat juga harus dilampirkan ke peran ini atau peran lain yang dipetakan ke akun layanan. aws-node Kubernetes Sebaiknya tetapkan kebijakan ke peran yang terkait dengan akun Kubernetes layanan alih-alih menetapkannya ke peran ini. Untuk informasi selengkapnya, lihat Mengkonfigurasi Amazon VPC CNI plugin for Kubernetes untuk menggunakan peran IAM untuk akun layanan (IRSA).

    6. Pilih Berikutnya.

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

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

    2. Untuk Deskripsi, ganti teks saat ini dengan teks deskriptif sepertiAmazon EKS - Node role.

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

    4. Pilih Buat peran.

AWS CLI
  1. Jalankan perintah berikut untuk membuat node-role-trust-relationship.json file.

    cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
  2. Buat peran IAM.

    aws iam create-role \ --role-name AmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-relationship.json"
  3. Lampirkan dua kebijakan yang dikelola IAM yang diperlukan ke peran IAM.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name AmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name AmazonEKSNodeRole
  4. Lampirkan salah satu kebijakan IAM berikut ke peran IAM tergantung pada keluarga IP mana Anda membuat klaster. Kebijakan harus dilampirkan pada peran ini atau peran yang terkait dengan akun Kubernetes aws-node layanan yang digunakan untuk Amazon VPC CNI plugin for Kubernetes. Sebaiknya tetapkan kebijakan ke peran yang terkait dengan akun Kubernetes layanan. Untuk menetapkan kebijakan ke peran yang terkait dengan akun Kubernetes layanan, lihatMengkonfigurasi Amazon VPC CNI plugin for Kubernetes untuk menggunakan peran IAM untuk akun layanan (IRSA).

    • IPv4

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name AmazonEKSNodeRole
    • IPv6

      1. Salin teks berikut dan simpan ke file bernama vpc-cni-ipv6-policy.json.

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
      2. Buat kebijakan IAM.

        aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
      3. Lampirkan kebijakan IAM ke peran IAM. Ganti 111122223333 dengan ID akun Anda.

        aws iam attach-role-policy \ --policy-arn arn:aws:iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name AmazonEKSNodeRole