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.
Buat Cluster Mode Otomatis EKS dengan AWS CLI
EKS Auto Mode Clusters mengotomatiskan tugas manajemen cluster rutin untuk komputasi, penyimpanan, dan jaringan. Misalnya, Cluster Mode Otomatis EKS secara otomatis mendeteksi kapan node tambahan diperlukan dan menyediakan instans EC2 baru untuk memenuhi tuntutan beban kerja.
Topik ini memandu Anda melalui pembuatan Cluster Mode Otomatis EKS baru menggunakan AWS CLI dan secara opsional menerapkan beban kerja sampel.
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 Meng instal dan konfigurasi cepat dengan aws configure di Panduan Pengguna Antar AWS muka Baris Perintah.-
Masuk ke CLI dengan izin IAM yang memadai 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 Cluster EKS Anda. Untuk menginstal atau meng-upgrade kubectl, lihat. Siapkan 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 membuat VPC baru. Pelajari cara Buat Kluster Mode Otomatis EKS dengan Konsol Manajemen AWS.
-
Atau, Anda dapat menggunakan VPC default AWS akun Anda. Gunakan petunjuk berikut untuk menemukan ID Subnet.
Menggunakan AWS CLI:
-
Jalankan perintah berikut untuk mencantumkan 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 catat ID Subnet.
Contoh output:
---------------------------------------- | DescribeSubnets | ---------------------------------------- | SubnetId | AvailabilityZone | |--------------------|---------------------| | subnet-012345678 | us-west-2a | | subnet-234567890 | us-west-2b | | subnet-345678901 | us-west-2c | ----------------------------------------
Peran IAM untuk Cluster Mode Otomatis EKS
Peran Cluster IAM
Mode Otomatis EKS memerlukan Peran IAM Cluster untuk melakukan tindakan di AWS akun Anda, seperti menyediakan instans EC2 baru. Anda harus membuat peran ini untuk memberikan izin yang diperlukan kepada EKS. AWS merekomendasikan melampirkan kebijakan terkel AWS ola berikut ke Peran IAM Cluster:
Peran Node IAM
Saat Anda membuat cluster Mode Otomatis EKS, Anda menentukan Peran IAM Node. Ketika Mode Otomatis EKS membuat node untuk memproses beban kerja yang tertunda, setiap node instans EC2 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 node, gunakan EKS Pod Identity. Untuk informasi selengkapnya, lihat Pelajari cara EKS Pod Identity memberikan akses Pod AWS layanan.
Anda harus membuat peran ini dan melampirkan kebijakan terkel AWS ola berikut:
Service-Linked Peran
Mode Otomatis EKS juga memerlukan Service-Linked Peran, yang secara otomatis dibuat dan dikonfigurasi oleh AWS. Untuk informasi selengkapnya, lihat AWSServiceRoleForAmazonEKS.
Membuat Peran IAM Cluster Mode Otomatis EKS
Langkah 1: Buat Kebijakan Kepercayaan
Buat kebijakan kepercayaan yang memungkinkan layanan Amazon EKS untuk mengambil peran tersebut. 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 ter AWS kelola berikut ke Peran IAM Cluster untuk memberikan izin yang diperlukan:
AmazonEKSClusterPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy
AmazonEKSComputePolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSComputePolicy
AmazonEKSBlockStoragePolicyV2:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSBlockStoragePolicyV2
AmazonEKSLoadBalancingPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSLoadBalancingPolicy
AmazonEKSNetworkingPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSNetworkingPolicy
Membuat Peran IAM Node Mode Otomatis EKS
Langkah 1: Buat Kebijakan Kepercayaan
Buat kebijakan kepercayaan yang memungkinkan layanan Amazon EKS untuk mengambil peran tersebut. 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 file node-trust-policy. json dari langkah sebelumnya untuk menentukan entitas mana yang dapat mengambil peran tersebut. Jalankan perintah berikut untuk membuat Node IAM Role:
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 Node IAM Role. Anda akan membutuhkan ARN ini dalam langkah-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 ter AWS kelola berikut ke Peran IAM Node untuk memberikan izin yang diperlukan:
AmazonEKSWorkerNodeMinimalPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoNodeRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy
AmazonEC2ContainerRegistryPullOnly:
aws iam attach-role-policy \ --role-name AmazonEKSAutoNodeRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
Membuat Cluster Mode Otomatis EKS
Gambaran umum
Untuk membuat Cluster Mode Otomatis EKS menggunakan AWS CLI, Anda memerlukan parameter berikut:
-
cluster-name: Nama cluster. -
k8s-version: Versi Kubernetes (misalnya, 1.31). -
subnet-ids: ID subnet 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 tujuan umum dan default sistem. Pelajari lebih lanjut tentang Pools Node.
Catatan: Kum pulan 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 instans EC2. -
kubernetesNetworkConfig.elasticLoadBalancing.enabled: Mengotomatiskan tugas penyeimbangan beban, termasuk membuat dan menghapus Elastic Load Balancers. -
storageConfig.blockStorage.enabled: Mengotomatiskan tugas penyimpanan, seperti membuat dan menghapus volume Amazon EBS. -
accessConfig.authenticationMode: Membutuhkan entri akses EKS. Pelajari lebih lanjut tentang mode otentikasi EKS.
Tetapkan Variabel Lingkungan
Sebelum menjalankan create-cluster perintah, atur variabel lingkungan berikut. Ganti nilai placeholder dengan milik Anda sendiri:
export AWS_REGION=us-east-1 export CLUSTER_NAME=my-auto-cluster export K8S_VERSION=1.35 export CLUSTER_ROLE_ARN=arn:aws:iam::111122223333:role/AmazonEKSAutoClusterRole export NODE_ROLE_ARN=arn:aws:iam::111122223333:role/AmazonEKSAutoNodeRole export SUBNETS_JSON='["subnet-ExampleID1","subnet-ExampleID2","subnet-ExampleID3"]'
catatan
Atur SUBNETS_JSON variabel dengan ID subnet dari langkah sebelumnya. Anda harus membungkus nilai dalam tanda kutip tunggal untuk mencegah shell menafsirkan tanda kurung dan tanda kutip sebagai karakter khusus.
Verifikasi Variabel (Opsional)
Konfirmasikan variabel Anda diatur dengan benar:
echo "Region: ${AWS_REGION}" echo "Cluster Name: ${CLUSTER_NAME}" echo "K8s Version: ${K8S_VERSION}" echo "Cluster Role ARN: ${CLUSTER_ROLE_ARN}" echo "Node Role ARN: ${NODE_ROLE_ARN}" echo "Subnets JSON: ${SUBNETS_JSON}"
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 memungkinkan berkomunikasi dengan cluster. Konfigurasi ini menggunakan AWS CLI untuk otentikasi.
aws eks update-kubeconfig --name "${CLUSTER_NAME}"
Langkah 3: Verifikasi Pools Node
Buat daftar Pools Node di cluster Anda menggunakan perintah berikut:
kubectl get nodepools
Langkah Berikutnya
-
Pelajari cara menerapkan contoh beban kerja ke cluster Mode Otomatis EKS baru Anda.