Bantu tingkatkan 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 Edit halaman ini pada GitHub tautan 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.
EKS Auto Mode Clusters mengotomatiskan tugas manajemen cluster rutin untuk komputasi, penyimpanan, dan jaringan. Misalnya, Kluster Mode Otomatis EKS secara otomatis mendeteksi kapan node tambahan diperlukan dan menyediakan EC2 instance baru untuk memenuhi tuntutan beban kerja.
Topik ini memandu Anda membuat Kluster Mode Otomatis EKS baru menggunakan AWS CLI dan secara opsional menerapkan contoh beban kerja.
Prasyarat
-
Versi terbaru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda. Untuk memeriksa versi Anda saat ini, gunakan
aws --version
. Untuk menginstal versi terbaru, lihat Menginstal dan Konfigurasi cepat dengan aws configure di Panduan Pengguna Antarmuka Baris AWS Perintah.-
Masuk ke CLI dengan izin IAM yang cukup untuk membuat AWS sumber daya termasuk Kebijakan IAM, Peran IAM, dan Kluster EKS.
-
-
Alat baris perintah kubectl diinstal pada perangkat Anda. AWS menyarankan Anda menggunakan versi kubectl yang sama dengan versi Kubernetes dari EKS Cluster Anda. Untuk menginstal atau meng-upgrade kubectl, lihat. Mengatur kubectl dan eksctl
Tentukan subnet VPC
Mode Otomatis Amazon EKS menyebarkan node ke subnet VPC. Saat membuat cluster EKS, Anda harus menentukan subnet VPC tempat node akan digunakan. Anda dapat menggunakan subnet VPC default di AWS akun Anda atau membuat VPC khusus untuk beban kerja kritis.
-
AWS menyarankan untuk membuat VPC khusus untuk cluster Anda. Pelajari cara Buat VPC Amazon untuk kluster Amazon EKS Anda.
-
Konsol EKS membantu menciptakan VPC baru. Pelajari cara Buat Kluster Mode Otomatis EKS dengan AWS Management Console.
-
Atau, Anda dapat menggunakan VPC default akun Anda AWS . Gunakan instruksi berikut untuk menemukan Subnet IDs.
Menggunakan AWS CLI:
-
Jalankan perintah berikut untuk membuat daftar VPC default dan subnetnya:
aws ec2 describe-subnets --filters "Name=vpc-id,Values=$(aws ec2 describe-vpcs --query 'Vpcs[?IsDefault==`true`].VpcId' --output text)" --query 'Subnets[*].{ID:SubnetId,AZ:AvailabilityZone}' --output table
-
Simpan output dan perhatikan Subnet IDs.
Contoh output:
---------------------------------------- | DescribeSubnets | ---------------------------------------- | SubnetId | AvailabilityZone | |--------------------|---------------------| | subnet-012345678 | us-west-2a | | subnet-234567890 | us-west-2b | | subnet-345678901 | us-west-2c | ----------------------------------------
Peran IAM untuk Kluster Mode Otomatis EKS
Peran IAM Cluster
Mode Otomatis EKS memerlukan Peran IAM Cluster untuk melakukan tindakan di AWS akun Anda, seperti menyediakan instance baru. EC2 Anda harus membuat peran ini untuk memberikan EKS izin yang diperlukan. AWS merekomendasikan untuk melampirkan kebijakan AWS terkelola berikut ke Peran IAM Cluster:
Peran IAM Node
Saat Anda membuat kluster Mode Otomatis EKS, Anda menentukan Peran IAM Node. Ketika Mode Otomatis EKS membuat node untuk memproses beban kerja yang tertunda, setiap node EC2 instance baru diberi Peran IAM Node. Peran ini memungkinkan node untuk berkomunikasi dengan EKS tetapi umumnya tidak diakses oleh beban kerja yang berjalan pada node.
Jika Anda ingin memberikan izin untuk beban kerja yang berjalan pada sebuah node, gunakan EKS Pod Identity. Untuk informasi selengkapnya, lihat Pelajari cara EKS Pod Identity memberikan akses Pod ke layanan AWS.
Anda harus membuat peran ini dan melampirkan kebijakan AWS terkelola berikut:
Mode Otomatis EKS juga memerlukan Peran Tertaut Layanan, yang secara otomatis dibuat dan dikonfigurasi oleh. AWS Untuk informasi lebih lanjut, lihat AWSServiceRoleForAmazonEKS.
Membuat Peran IAM Kluster Mode Otomatis EKS
Langkah 1: Buat Kebijakan Kepercayaan
Buat kebijakan kepercayaan yang memungkinkan layanan Amazon EKS untuk mengambil peran. Simpan kebijakan sebagaitrust-policy.json
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }
Langkah 2: Buat Peran IAM
Gunakan kebijakan kepercayaan untuk membuat Peran IAM Cluster:
aws iam create-role \ --role-name AmazonEKSAutoClusterRole \ --assume-role-policy-document file://trust-policy.json
Langkah 3: Perhatikan Peran ARN
Ambil dan simpan ARN dari peran baru untuk digunakan dalam langkah-langkah selanjutnya:
aws iam get-role --role-name AmazonEKSAutoClusterRole --query "Role.Arn" --output text
Langkah 4: Lampirkan Kebijakan yang Diperlukan
Lampirkan kebijakan AWS terkelola berikut ke Peran IAM Cluster untuk memberikan izin yang diperlukan:
EKSClusterKebijakan Amazon:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy
EKSComputeKebijakan Amazon:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSComputePolicy
Amazon EKSBlock StoragePolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy
Amazon EKSLoad BalancingPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy
EKSNetworkingKebijakan Amazon:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy
Buat Peran IAM Node Mode Otomatis EKS
Langkah 1: Buat Kebijakan Kepercayaan
Buat kebijakan kepercayaan yang memungkinkan layanan Amazon EKS untuk mengambil peran. Simpan kebijakan sebagainode-trust-policy.json
:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Langkah 2: Buat Peran IAM Node
Gunakan node-trust-policyfile.json dari langkah sebelumnya untuk menentukan entitas mana yang dapat mengambil peran. Jalankan perintah berikut untuk membuat Peran IAM Node:
aws iam create-role \ --role-name AmazonEKSAutoNodeRole \ --assume-role-policy-document file://node-trust-policy.json
Langkah 3: Perhatikan Peran ARN
Setelah membuat peran, ambil dan simpan ARN dari Peran IAM Node. Anda akan membutuhkan ARN ini pada langkah selanjutnya. Gunakan perintah berikut untuk mendapatkan ARN:
aws iam get-role --role-name AmazonEKSAutoNodeRole --query "Role.Arn" --output text
Langkah 4: Lampirkan Kebijakan yang Diperlukan
Lampirkan kebijakan AWS terkelola berikut ke Peran IAM Node untuk memberikan izin yang diperlukan:
Amazon EKSWorker NodeMinimalPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoNodeRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy
Amazon EC2 ContainerRegistryPullOnly:
aws iam attach-role-policy \ --role-name AmazonEKSAutoNodeRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
Buat Kluster Mode Otomatis EKS
Gambaran Umum
Untuk membuat Kluster Mode Otomatis EKS menggunakan AWS CLI, Anda memerlukan parameter berikut:
-
cluster-name
: Nama cluster. -
k8s-version
: Versi Kubernetes (mis., 1.31). -
subnet-ids
: Subnet IDs diidentifikasi pada langkah sebelumnya. -
cluster-role-arn
: ARN dari Peran IAM Cluster. -
node-role-arn
: ARN dari Peran IAM Node.
Konfigurasi Cluster Default
Tinjau nilai dan fitur default ini sebelum membuat cluster:
-
nodePools
: Mode Otomatis EKS mencakup Pools Node standar tujuan umum dan sistem. Pelajari lebih lanjut tentang Node Pools.
Catatan: Kumpulan Node dalam Mode Otomatis EKS berbeda dari Grup Node Terkelola Amazon EKS tetapi dapat hidup berdampingan di cluster yang sama.
-
computeConfig.enabled
: Mengotomatiskan tugas komputasi rutin, seperti membuat dan menghapus EC2 instance. -
kubernetesNetworkConfig.elasticLoadBalancing.enabled
: Mengotomatiskan tugas penyeimbangan beban, termasuk membuat dan menghapus Elastic Load Balancer. -
storageConfig.blockStorage.enabled
: Mengotomatiskan tugas penyimpanan, seperti membuat dan menghapus volume Amazon EBS. -
accessConfig.authenticationMode
: Memerlukan entri akses EKS. Pelajari lebih lanjut tentang mode otentikasi EKS.
Jalankan Perintah
Gunakan perintah berikut untuk membuat cluster:
aws eks create-cluster \ --region ${AWS_REGION} \ --cli-input-json \ "{ \"name\": \"${CLUSTER_NAME}\", \"version\": \"${K8S_VERSION}\", \"roleArn\": \"${CLUSTER_ROLE_ARN}\", \"resourcesVpcConfig\": { \"subnetIds\": ${SUBNETS_JSON}, \"endpointPublicAccess\": true, \"endpointPrivateAccess\": true }, \"computeConfig\": { \"enabled\": true, \"nodeRoleArn\":\"${NODE_ROLE_ARN}\", \"nodePools\": [\"general-purpose\", \"system\"] }, \"kubernetesNetworkConfig\": { \"elasticLoadBalancing\": { \"enabled\": true } }, \"storageConfig\": { \"blockStorage\": { \"enabled\": true } }, \"accessConfig\": { \"authenticationMode\": \"API\" } }
Periksa Status Cluster
Langkah 1: Verifikasi Pembuatan Cluster
Jalankan perintah berikut untuk memeriksa status cluster Anda. Pembuatan cluster biasanya memakan waktu sekitar 15 menit:
aws eks describe-cluster --name "${CLUSTER_NAME}" --output json
Langkah 2: Perbarui kubeconfig
Setelah cluster siap, perbarui file kubeconfig lokal Anda kubectl
untuk mengaktifkan komunikasi dengan cluster. Konfigurasi ini menggunakan AWS CLI untuk otentikasi.
aws eks update-kubeconfig --name "${CLUSTER_NAME}"
Langkah 3: Verifikasi Node Pools
Buat daftar Node Pools di cluster Anda menggunakan perintah berikut:
kubectl get nodepools
Langkah Berikutnya
-
Pelajari cara menerapkan beban kerja sampel ke kluster Mode Otomatis EKS baru Anda.