Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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.
Konfigurasi pods untuk mengakses AWS layanan dengan akun layanan
Jika Pod perlu mengakses AWS layanan, maka Anda harus mengkonfigurasinya untuk menggunakan Kubernetes akun layanan. Akun layanan harus dikaitkan dengan peran AWS Identity and Access Management (IAM) yang memiliki izin untuk mengakses AWS layanan.
-
Sebuah klaster yang sudah ada. Jika Anda tidak memilikinya, Anda dapat membuatnya menggunakan salah satu panduan diMemulai dengan Amazon EKS.
-
Yang ada Kubernetes akun layanan dan asosiasi EKS Pod Identity yang mengaitkan akun layanan dengan IAM peran. Peran harus memiliki IAM kebijakan terkait yang berisi izin yang Anda inginkan Pods harus menggunakan AWS layanan. Untuk informasi selengkapnya tentang cara membuat akun dan peran layanan, dan mengonfigurasinya, lihatMenetapkan IAM peran untuk Kubernetes akun layanan.
-
Versi terbaru dari yang AWS CLI diinstal dan dikonfigurasi pada perangkat Anda atau AWS CloudShell. Anda dapat memeriksa versi saat ini dengan
aws --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 dan Konfigurasi cepat dengan aws configure di Panduan Pengguna Antarmuka Baris AWS Perintah. AWS CLIVersi yang diinstal di 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 versi Kubernetes versi cluster Anda. Misalnya, jika versi cluster Anda1.29
, Anda dapat menggunakankubectl
versi1.28
,1.29
, atau1.30
dengan itu. Untuk menginstal atau memutakhirkankubectl
, lihat Siapkan kubectl dan eksctl. -
kubectl
config
File yang sudah ada yang berisi konfigurasi cluster Anda. Untuk membuatkubectl
config
file, lihatConnect kubectl ke sebuah EKS klaster dengan membuat berkas kubeconfig.-
Gunakan perintah berikut untuk membuat manifes penerapan yang dapat Anda gunakan Pod untuk mengonfirmasi konfigurasi dengan. Ganti
example values
dengan nilai-nilai Anda sendiri.cat >my-deployment.yaml <<EOF apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: serviceAccountName: my-service-account containers: - name: my-app image: public.ecr.aws/nginx/nginx:X.XX EOF
-
Terapkan manifes ke cluster Anda.
kubectl apply -f my-deployment.yaml
-
Konfirmasikan bahwa variabel lingkungan yang diperlukan ada untuk Anda Pod.
-
Lihat Pods yang dikerahkan dengan penerapan pada langkah sebelumnya.
kubectl get pods | grep my-app
Contoh output adalah sebagai berikut.
my-app-6f4dfff6cb-76cv9 1/1 Running 0 3m28s
-
Konfirmasikan bahwa Pod memiliki mount file token akun layanan.
kubectl describe pod my-app-6f4dfff6cb-76cv9 | grep AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE:
Contoh output adalah sebagai berikut.
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE: /var/run/secrets/pods.eks.amazonaws.com/serviceaccount/eks-pod-identity-token
-
-
Konfirmasikan bahwa Anda Pods dapat berinteraksi dengan AWS layanan menggunakan izin yang Anda tetapkan dalam IAM kebijakan yang dilampirkan pada peran Anda.
catatan
Ketika a Pod menggunakan AWS kredensi dari IAM peran yang terkait dengan akun layanan, AWS CLI atau lainnya SDKs dalam kontainer untuk itu Pod gunakan kredensi yang disediakan oleh peran itu. Jika Anda tidak membatasi akses ke kredensi yang diberikan ke peran EKS simpul IAMPeran EKS simpul Amazon IAM Amazon, Pod masih memiliki akses ke kredensi ini. Untuk informasi selengkapnya, lihat Membatasi akses ke profil instance yang ditetapkan ke node pekerja
. Jika Pods tidak dapat berinteraksi dengan layanan seperti yang Anda harapkan, selesaikan langkah-langkah berikut untuk mengonfirmasi bahwa semuanya telah dikonfigurasi dengan benar.
-
Konfirmasikan bahwa Anda Pods gunakan AWS SDK versi yang mendukung asumsi IAM peran melalui asosiasi EKS Pod Identity. Untuk informasi selengkapnya, lihat Gunakan identitas pod dengan AWS SDK.
-
Konfirmasikan bahwa penyebaran menggunakan akun layanan.
kubectl describe deployment my-app | grep "Service Account"
Contoh output adalah sebagai berikut.
Service Account: my-service-account
-
-