Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Buat Kluster Mode Otomatis EKS dengan AWS CLI

Mode fokus
Buat Kluster Mode Otomatis EKS dengan AWS CLI - Amazon EKS

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.

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, gunakanaws --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.

Menggunakan AWS CLI:

  1. 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
  2. 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        |
    ----------------------------------------

Menggunakan AWS CLI:

  1. 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
  2. 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

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.