Menyebarkan EKS IPv6 kluster Amazon dan mengelola node Amazon Linux - Amazon EKS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyebarkan EKS IPv6 kluster Amazon dan mengelola node Amazon Linux

Dalam tutorial ini, Anda menerapkan IPv6 AmazonVPC, EKS cluster Amazon dengan IPv6 keluarga, dan grup node terkelola dengan node Amazon EC2 Amazon Linux. Anda tidak dapat menyebarkan Amazon EC2 Windows node dalam sebuah IPv6 cluster. Anda juga dapat menerapkan node Fargate ke cluster Anda, meskipun instruksi tersebut tidak disediakan dalam topik ini untuk kesederhanaan.

Prasyarat

Selesaikan yang berikut ini sebelum Anda memulai tutorial:

Instal dan konfigurasikan alat dan sumber daya berikut yang Anda perlukan untuk membuat dan mengelola EKS klaster Amazon.

  • Kami menyarankan Anda membiasakan diri dengan semua pengaturan dan menyebarkan cluster dengan pengaturan yang memenuhi kebutuhan Anda. Untuk informasi lebih lanjut, lihat Buat EKS klaster AmazonSederhanakan siklus hidup node dengan grup node terkelola,, dan Pertimbangan untuk topik ini. Anda hanya dapat mengaktifkan beberapa pengaturan saat membuat cluster Anda.

  • 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.29, Anda dapat menggunakan kubectl versi1.28,1.29, atau 1.30 dengan itu. Untuk menginstal atau memutakhirkan kubectl, lihat Siapkan kubectl dan eksctl.

  • Prinsip IAM keamanan yang Anda gunakan harus memiliki izin untuk bekerja dengan EKS IAM peran Amazon, peran terkait layanan, AWS CloudFormationVPC, dan sumber daya terkait. Untuk informasi selengkapnya, lihat Tindakan dan Menggunakan peran terkait layanan di IAM Panduan Pengguna.

  • Jika Anda menggunakan eksctl, instal versi 0.194.0 atau yang lebih baru di komputer Anda. Untuk menginstal atau memperbaruinya, lihat Instalasi di eksctl dokumentasi.

  • 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 dan Konfigurasi cepat dengan aws configure di Panduan Pengguna Antarmuka Baris AWS Perintah. AWS CLIVersi 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. Jika Anda menggunakan AWS CloudShell, Anda mungkin perlu menginstal versi 2.12.3 atau yang lebih baru atau 1.27.160 atau yang lebih baru AWS CLI, karena AWS CLI versi default yang diinstal di AWS CloudShell mungkin versi sebelumnya.

Anda dapat menggunakan eksctl atau CLI untuk menyebarkan IPv6 cluster.

Menyebarkan IPv6 cluster dengan eksctl

  1. Buat file ipv6-cluster.yaml. Salin perintah yang mengikuti ke perangkat Anda. Buat modifikasi berikut pada perintah sesuai kebutuhan dan kemudian jalankan perintah yang dimodifikasi:

    • Ganti my-cluster dengan nama untuk cluster Anda. Nama hanya dapat berisi karakter alfanumerik (peka huruf besar/kecil) dan tanda hubung. Itu harus dimulai dengan karakter alfanumerik dan tidak boleh lebih dari 100 karakter. Nama harus unik di dalam AWS Wilayah dan AWS akun tempat Anda membuat klaster.

    • Ganti region-code dengan AWS Wilayah mana pun yang didukung oleh AmazonEKS. Untuk daftar AWS Wilayah, lihat EKStitik akhir dan kuota Amazon di panduan Referensi AWS Umum.

    • Nilai untuk version dengan versi cluster Anda. Untuk informasi selengkapnya, lihat Memahami siklus hidup versi Kubernetes di EKS.

    • Ganti my-nodegroup dengan nama untuk grup node Anda. Nama grup node tidak boleh lebih dari 63 karakter. Itu harus dimulai dengan huruf atau digit, tetapi juga dapat menyertakan tanda hubung dan garis bawah untuk karakter yang tersisa.

    • Ganti t3.medium dengan jenis instans Sistem AWS Nitro apa pun.

      cat >ipv6-cluster.yaml <<EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: "X.XX" kubernetesNetworkConfig: ipFamily: IPv6 addons: - name: vpc-cni version: latest - name: coredns version: latest - name: kube-proxy version: latest iam: withOIDC: true managedNodeGroups: - name: my-nodegroup instanceType: t3.medium EOF
  2. Buat cluster Anda.

    eksctl create cluster -f ipv6-cluster.yaml

    Pembuatan cluster membutuhkan waktu beberapa menit. Jangan lanjutkan sampai Anda melihat baris output terakhir, yang terlihat mirip dengan output berikut.

    [...] [✓] EKS cluster "my-cluster" in "region-code" region is ready
  3. Konfirmasikan default itu Pods adalah IPv6 alamat yang ditetapkan.

    kubectl get pods -n kube-system -o wide

    Contoh output adalah sebagai berikut.

    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES aws-node-rslts 1/1 Running 1 5m36s 2600:1f13:b66:8200:11a5:ade0:c590:6ac8 ip-192-168-34-75.region-code.compute.internal <none> <none> aws-node-t74jh 1/1 Running 0 5m32s 2600:1f13:b66:8203:4516:2080:8ced:1ca9 ip-192-168-253-70.region-code.compute.internal <none> <none> coredns-85d5b4454c-cw7w2 1/1 Running 0 56m 2600:1f13:b66:8203:34e5:: ip-192-168-253-70.region-code.compute.internal <none> <none> coredns-85d5b4454c-tx6n8 1/1 Running 0 56m 2600:1f13:b66:8203:34e5::1 ip-192-168-253-70.region-code.compute.internal <none> <none> kube-proxy-btpbk 1/1 Running 0 5m36s 2600:1f13:b66:8200:11a5:ade0:c590:6ac8 ip-192-168-34-75.region-code.compute.internal <none> <none> kube-proxy-jjk2g 1/1 Running 0 5m33s 2600:1f13:b66:8203:4516:2080:8ced:1ca9 ip-192-168-253-70.region-code.compute.internal <none> <none>
  4. Konfirmasikan bahwa layanan default adalah IPv6 alamat yang ditetapkan.

    kubectl get services -n kube-system -o wide

    Contoh output adalah sebagai berikut.

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kube-dns ClusterIP fd30:3087:b6c2::a <none> 53/UDP,53/TCP 57m k8s-app=kube-dns
  5. (Opsional) Menyebarkan aplikasi sampel atau menyebarkan Load AWS Balancer Controller dan aplikasi sampel untuk memuat aplikasi HTTP keseimbangan Rute aplikasi dan HTTP lalu lintas dengan Application Load Balancers dengan atau lalu lintas jaringan dengan Rute TCP dan UDP lalu lintas dengan Network Load Balancers IPv6 Pods.

  6. Setelah Anda selesai dengan cluster dan node yang Anda buat untuk tutorial ini, Anda harus membersihkan sumber daya yang Anda buat dengan perintah berikut.

    eksctl delete cluster my-cluster

Menyebarkan IPv6 cluster dengan AWS CLI

penting
  • Anda harus menyelesaikan semua langkah dalam prosedur ini sebagai pengguna yang sama. Untuk memeriksa pengguna saat ini, jalankan perintah berikut:

    aws sts get-caller-identity
  • Anda harus menyelesaikan semua langkah dalam prosedur ini di shell yang sama. Beberapa langkah menggunakan variabel yang diatur dalam langkah sebelumnya. Langkah-langkah yang menggunakan variabel tidak akan berfungsi dengan baik jika nilai variabel diatur dalam shell yang berbeda. Jika Anda menggunakan AWS CloudShelluntuk menyelesaikan prosedur berikut, ingatlah bahwa jika Anda tidak berinteraksi dengannya menggunakan keyboard atau pointer selama kurang lebih 20-30 menit, sesi shell Anda berakhir. Proses yang berjalan tidak dihitung sebagai interaksi.

  • Instruksi ditulis untuk cangkang Bash, dan mungkin perlu disesuaikan dengan cangkang lainnya.

Ganti semua example values dalam langkah-langkah prosedur ini dengan nilai-nilai Anda sendiri.

  1. Jalankan perintah berikut untuk mengatur beberapa variabel yang digunakan dalam langkah-langkah selanjutnya. Ganti region-code dengan AWS Wilayah tempat Anda ingin menyebarkan sumber daya Anda. Nilainya dapat berupa AWS Wilayah apa pun yang didukung oleh AmazonEKS. Untuk daftar AWS Wilayah, lihat EKStitik akhir dan kuota Amazon di panduan Referensi AWS Umum. Ganti my-cluster dengan nama untuk cluster Anda. Nama hanya dapat berisi karakter alfanumerik (peka huruf besar/kecil) dan tanda hubung. Itu harus dimulai dengan karakter alfanumerik dan tidak boleh lebih dari 100 karakter. Nama harus unik di dalam AWS Wilayah dan AWS akun tempat Anda membuat klaster. Ganti my-nodegroup dengan nama untuk grup node Anda. Nama grup node tidak boleh lebih dari 63 karakter. Itu harus dimulai dengan huruf atau digit, tetapi juga dapat menyertakan tanda hubung dan garis bawah untuk karakter yang tersisa. Ganti 111122223333 dengan ID akun Anda.

    export region_code=region-code export cluster_name=my-cluster export nodegroup_name=my-nodegroup export account_id=111122223333
  2. Buat Amazon VPC dengan subnet publik dan pribadi yang memenuhi Amazon EKS dan IPv6 persyaratan.

    1. Jalankan perintah berikut untuk mengatur variabel untuk nama AWS CloudFormation tumpukan Anda. Anda dapat mengganti my-eks-ipv6-vpc dengan nama apa pun yang Anda pilih.

      export vpc_stack_name=my-eks-ipv6-vpc
    2. Buat IPv6 VPC menggunakan AWS CloudFormation template.

      aws cloudformation create-stack --region $region_code --stack-name $vpc_stack_name \ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-ipv6-vpc-public-private-subnets.yaml

      Tumpukan membutuhkan waktu beberapa menit untuk membuatnya. Jalankan perintah berikut. Jangan melanjutkan ke langkah berikutnya sampai output dari perintah tersebutCREATE_COMPLETE.

      aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name --query Stacks[].StackStatus --output text
    3. Ambil subnet publik yang dibuat. IDs

      aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \ --query='Stacks[].Outputs[?OutputKey==`SubnetsPublic`].OutputValue' --output text

      Contoh output adalah sebagai berikut.

      subnet-0a1a56c486EXAMPLE,subnet-099e6ca77aEXAMPLE
    4. Aktifkan opsi IPv6 alamat tetapkan otomatis untuk subnet publik yang dibuat.

      aws ec2 modify-subnet-attribute --region $region_code --subnet-id subnet-0a1a56c486EXAMPLE --assign-ipv6-address-on-creation aws ec2 modify-subnet-attribute --region $region_code --subnet-id subnet-099e6ca77aEXAMPLE --assign-ipv6-address-on-creation
    5. Ambil nama subnet dan grup keamanan yang dibuat oleh template dari AWS CloudFormation tumpukan yang digunakan dan simpan dalam variabel untuk digunakan di langkah selanjutnya.

      security_groups=$(aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \ --query='Stacks[].Outputs[?OutputKey==`SecurityGroups`].OutputValue' --output text) public_subnets=$(aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \ --query='Stacks[].Outputs[?OutputKey==`SubnetsPublic`].OutputValue' --output text) private_subnets=$(aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name \ --query='Stacks[].Outputs[?OutputKey==`SubnetsPrivate`].OutputValue' --output text) subnets=${public_subnets},${private_subnets}
  3. Buat IAM peran klaster dan lampirkan kebijakan EKS IAM terkelola Amazon yang diperlukan ke dalamnya. Kubernetes cluster yang dikelola oleh Amazon EKS melakukan panggilan ke AWS layanan lain atas nama Anda untuk mengelola sumber daya yang Anda gunakan dengan layanan tersebut.

    1. Jalankan perintah berikut untuk membuat eks-cluster-role-trust-policy.json file.

      cat >eks-cluster-role-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
    2. Jalankan perintah berikut untuk menetapkan variabel untuk nama peran Anda. Anda dapat mengganti myAmazonEKSClusterRole dengan nama apa pun yang Anda pilih.

      export cluster_role_name=myAmazonEKSClusterRole
    3. Buat peran.

      aws iam create-role --role-name $cluster_role_name --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
    4. Ambil ARN IAM peran dan simpan dalam variabel untuk langkah selanjutnya.

      CLUSTER_IAM_ROLE=$(aws iam get-role --role-name $cluster_role_name --query="Role.Arn" --output text)
    5. Lampirkan IAM kebijakan EKS terkelola Amazon yang diperlukan ke peran tersebut.

      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy --role-name $cluster_role_name
  4. Buat cluster Anda.

    aws eks create-cluster --region $region_code --name $cluster_name --kubernetes-version 1.XX \ --role-arn $CLUSTER_IAM_ROLE --resources-vpc-config subnetIds=$subnets,securityGroupIds=$security_groups \ --kubernetes-network-config ipFamily=ipv6
    1. NOTE: Anda mungkin menerima kesalahan bahwa salah satu Availability Zone dalam permintaan Anda tidak memiliki kapasitas yang cukup untuk membuat EKS klaster Amazon. Jika hal ini terjadi, output galat berisi Availability Zones yang dapat mendukung klaster baru. Cobalah untuk kembali membuat klaster dengan setidaknya dua subnet yang terletak di Availability Zones yang didukung untuk akun Anda. Untuk informasi selengkapnya, lihat Kapasitas tidak mencukupi.

      Cluster membutuhkan waktu beberapa menit untuk membuatnya. Jalankan perintah berikut. Jangan lanjutkan ke langkah berikutnya sampai output dari perintah tersebutACTIVE.

      aws eks describe-cluster --region $region_code --name $cluster_name --query cluster.status
  5. Buat atau perbarui kubeconfig file untuk klaster Anda sehingga Anda dapat berkomunikasi dengan cluster Anda.

    aws eks update-kubeconfig --region $region_code --name $cluster_name

    Secara default, config file dibuat ~/.kube atau konfigurasi cluster baru ditambahkan ke config file yang ada di~/.kube.

  6. Buat IAM peran simpul.

    1. Jalankan perintah berikut untuk membuat vpc-cni-ipv6-policy.json file.

      cat >vpc-cni-ipv6-policy <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws: ec2:*:*:network-interface/*" ] } ] } EOF
    2. Buat IAM kebijakan.

      aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
    3. Jalankan perintah berikut untuk membuat node-role-trust-relationship.json file.

      cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
    4. Jalankan perintah berikut untuk menetapkan variabel untuk nama peran Anda. Anda dapat mengganti AmazonEKSNodeRole dengan nama apa pun yang Anda pilih.

      export node_role_name=AmazonEKSNodeRole
    5. Buat IAM peran.

      aws iam create-role --role-name $node_role_name --assume-role-policy-document file://"node-role-trust-relationship.json"
    6. Lampirkan IAM kebijakan ke IAM peran.

      aws iam attach-role-policy --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name $node_role_name
      penting

      Untuk kesederhanaan dalam tutorial ini, kebijakan dilampirkan pada IAM peran ini. Namun, dalam klaster produksi, kami merekomendasikan untuk melampirkan kebijakan ke IAM peran terpisah. Untuk informasi selengkapnya, lihat Konfigurasikan VPC CNI plugin Amazon untuk digunakan IRSA.

    7. Lampirkan dua kebijakan IAM terkelola yang diperlukan ke IAM peran tersebut.

      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name $node_role_name aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name $node_role_name
    8. Ambil ARN IAM peran dan simpan dalam variabel untuk langkah selanjutnya.

      node_iam_role=$(aws iam get-role --role-name $node_role_name --query="Role.Arn" --output text)
  7. Buat grup node terkelola.

    1. Lihat subnet yang Anda buat pada langkah sebelumnya. IDs

      echo $subnets

      Contoh output adalah sebagai berikut.

      subnet-0a1a56c486EXAMPLE,subnet-099e6ca77aEXAMPLE,subnet-0377963d69EXAMPLE,subnet-0c05f819d5EXAMPLE
    2. Buat grup simpul. Ganti 0a1a56c486EXAMPLE, 099e6ca77aEXAMPLE, 0377963d69EXAMPLE, dan 0c05f819d5EXAMPLE dengan nilai yang dikembalikan dalam output dari langkah sebelumnya. Pastikan untuk menghapus koma antara subnet IDs dari output sebelumnya dalam perintah berikut. Anda dapat mengganti t3.medium dengan jenis instans Sistem AWS Nitro apa pun.

      aws eks create-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name \ --subnets subnet-0a1a56c486EXAMPLE subnet-099e6ca77aEXAMPLE subnet-0377963d69EXAMPLE subnet-0c05f819d5EXAMPLE \ --instance-types t3.medium --node-role $node_iam_role

      Grup simpul membutuhkan waktu beberapa menit untuk membuatnya. Jalankan perintah berikut. Jangan lanjutkan ke langkah berikutnya sampai output yang dikembalikanACTIVE.

      aws eks describe-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name \ --query nodegroup.status --output text
  8. Konfirmasikan bahwa default Pods adalah IPv6 alamat yang ditetapkan di IP kolom.

    kubectl get pods -n kube-system -o wide

    Contoh output adalah sebagai berikut.

    NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES aws-node-rslts 1/1 Running 1 5m36s 2600:1f13:b66:8200:11a5:ade0:c590:6ac8 ip-192-168-34-75.region-code.compute.internal <none> <none> aws-node-t74jh 1/1 Running 0 5m32s 2600:1f13:b66:8203:4516:2080:8ced:1ca9 ip-192-168-253-70.region-code.compute.internal <none> <none> coredns-85d5b4454c-cw7w2 1/1 Running 0 56m 2600:1f13:b66:8203:34e5:: ip-192-168-253-70.region-code.compute.internal <none> <none> coredns-85d5b4454c-tx6n8 1/1 Running 0 56m 2600:1f13:b66:8203:34e5::1 ip-192-168-253-70.region-code.compute.internal <none> <none> kube-proxy-btpbk 1/1 Running 0 5m36s 2600:1f13:b66:8200:11a5:ade0:c590:6ac8 ip-192-168-34-75.region-code.compute.internal <none> <none> kube-proxy-jjk2g 1/1 Running 0 5m33s 2600:1f13:b66:8203:4516:2080:8ced:1ca9 ip-192-168-253-70.region-code.compute.internal <none> <none>
  9. Konfirmasikan bahwa layanan default diberikan IPv6 alamat di IP kolom.

    kubectl get services -n kube-system -o wide

    Contoh output adalah sebagai berikut.

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kube-dns ClusterIP fd30:3087:b6c2::a <none> 53/UDP,53/TCP 57m k8s-app=kube-dns
  10. (Opsional) Menyebarkan aplikasi sampel atau menyebarkan Load AWS Balancer Controller dan aplikasi sampel untuk memuat aplikasi HTTP keseimbangan Rute aplikasi dan HTTP lalu lintas dengan Application Load Balancers dengan atau lalu lintas jaringan dengan Rute TCP dan UDP lalu lintas dengan Network Load Balancers IPv6 Pods.

  11. Setelah Anda selesai dengan cluster dan node yang Anda buat untuk tutorial ini, Anda harus membersihkan sumber daya yang Anda buat dengan perintah berikut. Pastikan Anda tidak menggunakan sumber daya apa pun di luar tutorial ini sebelum menghapusnya.

    1. Jika Anda menyelesaikan langkah ini di shell yang berbeda dari langkah sebelumnya, tetapkan nilai semua variabel yang digunakan pada langkah sebelumnya, ganti example values dengan nilai yang Anda tentukan saat Anda menyelesaikan langkah sebelumnya. Jika Anda menyelesaikan langkah ini di shell yang sama dengan tempat Anda menyelesaikan langkah sebelumnya, lewati ke langkah berikutnya.

      export region_code=region-code export vpc_stack_name=my-eks-ipv6-vpc export cluster_name=my-cluster export nodegroup_name=my-nodegroup export account_id=111122223333 export node_role_name=AmazonEKSNodeRole export cluster_role_name=myAmazonEKSClusterRole
    2. Hapus grup node Anda.

      aws eks delete-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name

      Penghapusan membutuhkan waktu beberapa menit. Jalankan perintah berikut. Jangan melanjutkan ke langkah berikutnya jika ada output yang dikembalikan.

      aws eks list-nodegroups --region $region_code --cluster-name $cluster_name --query nodegroups --output text
    3. Hapus klaster .

      aws eks delete-cluster --region $region_code --name $cluster_name

      Cluster membutuhkan beberapa menit untuk menghapus. Sebelum melanjutkan pastikan bahwa cluster dihapus dengan perintah berikut.

      aws eks describe-cluster --region $region_code --name $cluster_name

      Jangan lanjutkan ke langkah berikutnya sampai output Anda mirip dengan output berikut.

      An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: my-cluster.
    4. Hapus IAM sumber daya yang Anda buat. Ganti AmazonEKS_CNI_IPv6_Policy dengan nama yang Anda pilih, jika Anda memilih nama yang berbeda dari yang digunakan pada langkah sebelumnya.

      aws iam detach-role-policy --role-name $cluster_role_name --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy aws iam detach-role-policy --role-name $node_role_name --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy aws iam detach-role-policy --role-name $node_role_name --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly aws iam detach-role-policy --role-name $node_role_name --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy aws iam delete-policy --policy-arn arn:aws: iam::$account_id:policy/AmazonEKS_CNI_IPv6_Policy aws iam delete-role --role-name $cluster_role_name aws iam delete-role --role-name $node_role_name
    5. Hapus AWS CloudFormation tumpukan yang membuat fileVPC.

      aws cloudformation delete-stack --region $region_code --stack-name $vpc_stack_name