Buat sebuah IAM OIDC penyedia untuk klaster Anda - 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.

Buat sebuah IAM OIDC penyedia untuk klaster Anda

Cluster Anda memiliki OpenID Connect (OIDC) penerbit URL yang terkait dengannya. Untuk menggunakan AWS Identity and Access Management (IAM) peran untuk akun layanan, IAM OIDC penyedia harus ada untuk cluster Anda OIDC penerbit. URL

Prasyarat
  • EKSCluster Amazon yang ada. Untuk menyebarkan satu, lihatMemulai dengan Amazon EKS.

  • 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 sepertiyum,apt-get, atau Homebrew untuk macOS sering beberapa versi di belakang versi terbaru dari AWS CLI. Untuk menginstal versi terbaru, lihat Menginstal, memperbarui, dan menghapus konfigurasi AWS CLI dan Cepat dengan aws configure di Panduan Pengguna AWS Command Line Interface . 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 ini bisa sama dengan atau hingga satu versi minor lebih awal atau lebih lambat dari Kubernetes versi cluster Anda. Misalnya, jika versi cluster Anda1.30, Anda dapat menggunakan kubectl versi1.29,1.30, atau 1.31 dengan itu. Untuk menginstal atau memutakhirkan kubectl, lihat Mengatur kubectl dan eksctl.

  • kubectlconfigFile yang sudah ada yang berisi konfigurasi cluster Anda. Untuk membuat kubectl config file, lihatHubungkan kubectl ke sebuah EKS cluster dengan membuat kubeconfig file.

Anda dapat membuat IAM OIDC penyedia untuk cluster Anda menggunakan eksctl atau AWS Management Console.

eksctl
Prasyarat

Versi 0.191.0 atau yang lebih baru dari alat baris eksctl perintah yang diinstal pada perangkat Anda atau AWS CloudShell. Untuk menginstal atau memperbaruieksctl, lihat Instalasi dalam eksctl dokumentasi.

Untuk membuat IAM OIDC penyedia identitas untuk cluster Anda dengan eksctl
  1. Tentukan OIDC ID penerbit untuk klaster Anda.

    Ambil klaster Anda OIDC ID penerbit dan simpan dalam variabel. Ganti my-cluster dengan nilai Anda sendiri.

    cluster_name=my-cluster
    oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
    echo $oidc_id
  2. Tentukan apakah sebuah IAM OIDC penyedia dengan ID penerbit klaster Anda sudah ada di akun Anda.

    aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4

    Jika output dikembalikan, maka Anda sudah memiliki IAM OIDC penyedia untuk cluster Anda dan Anda dapat melewati langkah berikutnya. Jika tidak ada output yang dikembalikan, maka Anda harus membuat IAM OIDC penyedia untuk cluster Anda.

  3. Buat sebuah IAM OIDC penyedia identitas untuk cluster Anda dengan perintah berikut.

    eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve
    catatan

    Jika Anda mengaktifkan EKS VPC titik akhir, titik akhir EKS OIDC layanan tidak dapat diakses dari dalamnya. VPC Akibatnya, operasi Anda seperti membuat OIDC penyedia dengan eksctl in tidak VPC akan berfungsi dan akan menghasilkan batas waktu saat mencoba meminta. https://oidc.eks.region.amazonaws.com Contoh pesan kesalahan berikut:

    ** server can't find oidc.eks.region.amazonaws.com: NXDOMAIN

    Untuk menyelesaikan langkah ini, Anda dapat menjalankan perintah di luarVPC, misalnya di dalam AWS CloudShell atau di komputer yang terhubung ke internet. Atau, Anda dapat membuat resolver bersyarat split-horizon diVPC, seperti Route 53 Resolver untuk menggunakan resolver yang berbeda untuk Penerbit dan tidak menggunakannya untuk itu. OIDC URL VPC DNS Sebagai contoh penerusan bersyarat di CoreDNS, lihat permintaan EKS fitur Amazon di GitHub.

AWS Management Console
Untuk membuat IAM OIDC penyedia identitas untuk cluster Anda dengan AWS Management Console
  1. Buka EKS konsol Amazon di https://console.aws.amazon.com/eks/rumah#/cluster.

  2. Di panel kiri, pilih Cluster, lalu pilih nama cluster Anda di halaman Clusters.

  3. Di bagian Detail pada tab Ikhtisar, perhatikan nilai penyedia OpenID Connect. URL

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

  5. Di panel navigasi kiri, pilih Penyedia Identitas di bawah Manajemen akses. Jika Penyedia terdaftar yang cocok dengan klaster Anda, maka Anda sudah memiliki penyedia untuk klaster Anda. URL Jika penyedia tidak terdaftar yang cocok dengan klaster Anda, maka Anda harus membuatnya. URL

  6. Untuk membuat penyedia, pilih Tambah penyedia.

  7. Untuk jenis Penyedia, pilih OpenID Connect.

  8. Untuk Provider URL, masukkan OIDC penyedia URL untuk cluster Anda.

  9. Untuk Audiens, masukkansts.amazonaws.com.

  10. (Opsional) Tambahkan tag apa pun, misalnya tag untuk mengidentifikasi cluster mana untuk penyedia ini.

  11. Pilih Tambah penyedia.

Langkah selanjutnya

Menetapkan IAM peran untuk Kubernetes akun layanan