IAM role simpul Amazon EKS - Amazon EKS

View a markdown version of this page

IAM role simpul Amazon EKS - Amazon EKS

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.

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), seperti yang disediakan oleh AmazonEC2ContainerRegistryPullOnly kebijakan. Izin untuk menggunakan gambar kontainer dari Amazon Elastic Container Registry (Amazon ECR) diperlukan karena add-on bawaan untuk jaringan menjalankan pod yang menggunakan gambar kontainer dari Amazon ECR.

  • (Opsional) Izin untuk Agen Identitas Pod Amazon EKS untuk menggunakan eks-auth:AssumeRoleForPodIdentity tindakan untuk mengambil kredenSIAL untuk pod. Jika Anda tidak menggunakan AmazonEKSWorkerNodePolicy, 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 CNI VPC, maka Anda harus memberikan izin untuk VPC CNI pada peran instans. Anda dapat menggunakan kebijakan AmazonEKS_CNI_Policy terkelola (jika Anda membuat cluster dengan IPv4 keluarga) atau kebijakan IPv6 yang Anda buat (jika Anda membuat cluster dengan IPv6 keluarga). Namun, daripada melampirkan kebijakan ke peran ini, sebaiknya Anda melampirkan kebijakan 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. Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA

  • (Opsional) Izin kubelet untuk menggunakan gambar kontainer dari Amazon ECR Public (public.ecr.aws), seperti yang disediakan oleh kebijakan. AmazonElasticContainerRegistryPublicReadOnly Izin ini disarankan jika Anda menarik gambar kontainer dari ECR Public. Tanpa mereka, tarikan akan berhasil, tetapi mungkin terbatas pada tingkat.

catatan

Grup node Amazon EC2 harus memiliki peran IAM yang berbeda dari profil Fargate. Untuk informasi selengkapnya, lihat Peran IAM eksekusi Pod 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.

  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 tersebut tidak ada, lihat Membuat IAM role simpul Amazon EKS untuk membuat peran tersebut. Jika peran yang berisieksNodeRole,AmazonEKSNodeRole, atau NodeInstanceRole memang ada, pilih peran tersebut untuk melihat kebijakan yang dilampirkan.

  4. Pilih Izin.

  5. Pastikan bahwa kebijakan AmazonEKSWorkerNodePolicy dan yang AmazonEC2ContainerRegistryPullOnly dikelola dilampirkan ke peran atau kebijakan khusus dilampirkan dengan izin minimal.

    catatan

    Jika kebijakan AmazonEKS_CNI_Policy terlampir pada peran, sebaiknya hapus dan lampirkan kebijakan tersebut ke IAM role yang dipetakan ke akun layanan aws-node Kubernetes sebagai gantinya. Untuk informasi selengkapnya, lihat Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA.

  6. Pilih Relasi kepercayaan, lalu pilih Edit kebijakan kepercayaan.

  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 Per barui kebijakan.

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

Membuat IAM role simpul Amazon EKS

Anda dapat membuat peran IAM node dengan Konsol Manajemen AWS atau AWS CLI.

Konsol Manajemen AWS
  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 Tambah izin, lampirkan kebijakan kustom atau lakukan hal berikut:

    1. Di dalam kotak Filter kebijakan, masukkan AmazonEKSWorkerNodePolicy.

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

    3. Pilih Hapus filter.

    4. Di dalam kotak Filter kebijakan, masukkan AmazonEC2ContainerRegistryPullOnly.

    5. Pilih kotak centang AmazonEC2ContainerRegistryPullOnly di sebelah kiri hasil pencarian.

      Kebijakan terkelola Amazoneks_CNI_Pol icy, atau kebijakan IPv6 yang Anda buat juga harus dilampirkan ke peran ini atau ke peran lain yang dipetakan ke akun layanan Kubernetes. aws-node Sebaiknya tetapkan kebijakan ke peran yang terkait dengan akun layanan Kubernetes, alih-alih menugaskannya ke peran ini. Untuk informasi selengkapnya, lihat Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA.

    6. Pilih Berikutnya.

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

    1. Untuk Nama Per an, masukkan nama unik untuk peran Anda, sepertiAmazonEKSNodeRole.

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

    3. Di bawah Tambah tag (Opsional), tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan kunci-nilai. 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.

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "ec2.amazonaws.com" ] } } ] }
  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/AmazonEC2ContainerRegistryPullOnly \ --role-name AmazonEKSNodeRole
  4. Lampirkan salah satu kebijakan IAM berikut ke peran IAM tergantung pada keluarga IP yang digunakan untuk membuat cluster. Kebijakan harus dilampirkan ke peran ini atau peran yang terkait dengan akun aws-node layanan Kubernetes yang digunakan untuk plugin Amazon VPC CNI untuk Kubernetes. Sebaiknya tugaskan kebijakan ke dalam peran yang terkait dengan akun layanan Kubernetes. Untuk menetapkan kebijakan ke peran yang terkait dengan akun layanan Kubernetes, lihat. Konfigurasikan plugin Amazon VPC CNI untuk menggunakan 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