Bereitstellung eines EKS IPv6 Amazon-Clusters und verwalteter Amazon Linux-Knoten - Amazon EKS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Bereitstellung eines EKS IPv6 Amazon-Clusters und verwalteter Amazon Linux-Knoten

In diesem Tutorial stellen Sie einen IPv6 AmazonVPC, einen EKS Amazon-Cluster mit der IPv6 Familie und eine verwaltete Knotengruppe mit Amazon EC2 Amazon Linux-Knoten bereit. Sie können Amazon nicht bereitstellen EC2 Windows Knoten in einem IPv6 Cluster. Sie können auch Fargate-Knoten in Ihrem Cluster bereitstellen, obwohl diese Anweisungen der Einfachheit halber nicht in diesem Thema enthalten sind.

Voraussetzungen

Gehen Sie wie folgt vor, bevor Sie mit dem Tutorial beginnen:

Installieren und konfigurieren Sie die folgenden Tools und Ressourcen, die Sie zum Erstellen und Verwalten eines EKS Amazon-Clusters benötigen.

  • Wir empfehlen Ihnen, sich mit allen Einstellungen vertraut zu machen und einen Cluster mit den Einstellungen bereitzustellen, die Ihren Anforderungen entsprechen. Weitere Informationen finden Sie Erstellen Sie einen EKS Amazon-Cluster unter Vereinfachen Sie den Knotenlebenszyklus mit verwalteten Knotengruppen und in den Überlegungen zu diesem Thema. Sie können nur einige Einstellungen aktivieren, wenn Sie Ihren Cluster erstellen.

  • Das kubectl Befehlszeilentool ist auf Ihrem Gerät installiert oder AWS CloudShell. Die Version kann dieselbe oder bis zu einer Nebenversion sein, die vor oder nach der Kubernetes Version Ihres Clusters. Wenn Ihre Clusterversion beispielsweise 1.29 ist, können Sie kubectl-Version 1.28, 1.29, oder 1.30 damit verwenden. Informationen zum Installieren oder Aktualisieren von kubectl finden Sie unter Richten Sie kubectl und eksctl ein.

  • Der IAM Sicherheitsprinzipal, den Sie verwenden, muss über Berechtigungen verfügen, um mit EKS IAM Amazon-Rollen, serviceverknüpften Rollen AWS CloudFormation,VPC, a und verwandten Ressourcen zu arbeiten. Weitere Informationen finden Sie unter Aktionen und Verwenden von serviceverknüpften Rollen im IAM Benutzerhandbuch.

  • Wenn Sie das eksctl, installieren Sie Version 0.194.0 oder höher auf Ihrem Computer. Informationen zum Installieren oder Aktualisieren finden Sie in der Dokumentation zu eksctl unter Installation.

  • Version 2.12.3 oder höher oder Version 1.27.160 oder höher der AWS Befehlszeilenschnittstelle (AWS CLI), die auf Ihrem Gerät installiert und konfiguriert ist, oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' ' -f1. Paketmanager wieyum,apt-get, oder Homebrew for macOS liegen oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie unter Installation AWS CLI in Ihrem Home-Verzeichnis im AWS CloudShell Benutzerhandbuch. Wenn Sie das verwenden AWS CloudShell, müssen Sie möglicherweise Version 2.12.3 oder höher oder 1.27.160 oder höher von installieren AWS CLI, da es sich bei der in der installierten AWS CLI Standardversion AWS CloudShell möglicherweise um eine frühere Version handelt.

Sie können das eksctl oder CLI um einen Cluster bereitzustellen. IPv6

Stellen Sie einen IPv6 Cluster bereit mit eksctl

  1. Erstellen Sie die Datei ipv6-cluster.yaml. Kopieren Sie den folgenden Befehl auf Ihr Gerät. Nehmen Sie nach Bedarf die folgenden Änderungen am Befehl vor und führen Sie anschließend den geänderten Befehl aus:

    • Ersetzen my-cluster mit einem Namen für Ihren Cluster. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Es muss mit einem alphanumerischen Zeichen beginnen und darf nicht länger als 100 Zeichen sein. Der Name muss innerhalb der AWS Region und des AWS Kontos, in dem Sie den Cluster erstellen, eindeutig sein.

    • Ersetzen region-code mit jeder AWS Region, die von Amazon unterstützt wirdEKS. Eine Liste der AWS Regionen finden Sie unter EKSAmazon-Endpunkte und Kontingente im AWS Allgemeinen Referenzhandbuch.

    • Der Wert für version mit der Version Ihres Clusters. Weitere Informationen finden Sie unter Verstehen Sie den Lebenszyklus der Kubernetes-Version auf EKS.

    • Ersetzen my-nodegroup mit einem Namen für Ihre Knotengruppe. Der Name der Knotengruppe darf nicht länger als 63 Zeichen sein. Er muss mit einem Buchstaben oder einer Ziffer beginnen, kann danach aber auch Bindestriche und Unterstriche enthalten.

    • Ersetzen t3.medium mit einem beliebigen AWS Nitro System-Instanztyp.

      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. Erstellen Sie Ihren Cluster.

    eksctl create cluster -f ipv6-cluster.yaml

    Die Clustererstellung dauert mehrere Minuten. Fahren Sie erst fort, wenn Sie die letzte Ausgabezeile sehen, die der folgenden Ausgabe ähnelt.

    [...] [✓] EKS cluster "my-cluster" in "region-code" region is ready
  3. Bestätigen Sie diese Standardeinstellung Pods sind IPv6 Adressen zugewiesen.

    kubectl get pods -n kube-system -o wide

    Eine Beispielausgabe sieht wie folgt aus.

    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. Vergewissern Sie sich, dass Standard-Services IPv6-Adressen zugewiesen wurden.

    kubectl get services -n kube-system -o wide

    Eine Beispielausgabe sieht wie folgt aus.

    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. (Optional) Stellen Sie eine Beispielanwendung bereit, oder stellen Sie den Load AWS Balancer Controller und eine Beispielanwendung bereit, um den Lastenausgleich von HTTP Anwendungen Weiterleiten von Anwendungen und HTTP Datenverkehr mit Application Load Balancers oder den Netzwerkverkehr mit Route TCP und UDP Verkehr mit Network Load Balancers zu IPv6 Pods.

  6. Nachdem Sie mit dem Cluster und den Knoten fertig sind, die Sie für dieses Tutorial erstellt haben, sollten Sie die Ressourcen bereinigen, die Sie mit dem folgenden Befehl erstellt haben.

    eksctl delete cluster my-cluster

Stellen Sie einen IPv6 Cluster bereit mit AWS CLI

Wichtig
  • Sie müssen alle Schritte in diesem Verfahren als derselbe Benutzer ausführen. Führen Sie den folgenden Befehl aus, um den aktuellen Benutzer zu überprüfen:

    aws sts get-caller-identity
  • Sie müssen alle Schritte in diesem Verfahren in derselben Shell ausführen. In mehreren Schritten in den vorherigen Schritten werden festgelegte Variablen verwendet. Schritte, die Variablen verwenden, funktionieren nicht richtig, wenn die Variablenwerte in einer anderen Shell festgelegt sind. Wenn Sie das AWS CloudShellfolgende Verfahren verwenden, denken Sie daran, dass Ihre Shell-Sitzung beendet wird, wenn Sie etwa 20 bis 30 Minuten lang nicht mit der Tastatur oder dem Zeiger damit interagieren. Laufende Prozesse zählen nicht als Interaktionen.

  • Die Anweisungen sind für die Bash-Shell geschrieben und müssen möglicherweise in anderen Shells angepasst werden.

Alle ersetzen example values in den Schritten dieses Verfahrens mit Ihren eigenen Werten.

  1. Führen Sie die folgenden Befehle aus, um einige in späteren Schritten verwendete Variablen festzulegen. Ersetzen region-code mit der AWS Region, in der Sie Ihre Ressourcen einsetzen möchten. Der Wert kann eine beliebige AWS Region sein, die von Amazon unterstützt wirdEKS. Eine Liste der AWS Regionen finden Sie unter EKSAmazon-Endpunkte und Kontingente im AWS Allgemeinen Referenzhandbuch. Ersetzen my-cluster mit einem Namen für Ihren Cluster. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Es muss mit einem alphanumerischen Zeichen beginnen und darf nicht länger als 100 Zeichen sein. Der Name muss innerhalb der AWS Region und des AWS Kontos, in dem Sie den Cluster erstellen, eindeutig sein. Ersetzen my-nodegroup mit einem Namen für Ihre Knotengruppe. Der Name der Knotengruppe darf nicht länger als 63 Zeichen sein. Er muss mit einem Buchstaben oder einer Ziffer beginnen, kann danach aber auch Bindestriche und Unterstriche enthalten. Ersetzen 111122223333 mit Ihrer Konto-ID.

    export region_code=region-code export cluster_name=my-cluster export nodegroup_name=my-nodegroup export account_id=111122223333
  2. Erstellen Sie ein Amazon VPC mit öffentlichen und privaten Subnetzen, das Amazon EKS und den IPv6 Anforderungen entspricht.

    1. Führen Sie den folgenden Befehl aus, um eine Variable für Ihren AWS CloudFormation Stack-Namen festzulegen. Sie können ersetzen my-eks-ipv6-vpc mit einem beliebigen Namen, den Sie wählen.

      export vpc_stack_name=my-eks-ipv6-vpc
    2. Erstellen Sie und IPv6 VPC verwenden Sie eine AWS CloudFormation Vorlage.

      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

      Das Erstellen des Stacks nimmt einige Minuten in Anspruch. Führen Sie den folgenden Befehl aus. Fahren Sie erst mit dem nächsten Schritt fort, wenn die Ausgabe des Befehls angezeigt wirdCREATE_COMPLETE.

      aws cloudformation describe-stacks --region $region_code --stack-name $vpc_stack_name --query Stacks[].StackStatus --output text
    3. Rufen Sie IDs die öffentlichen Subnetze ab, die erstellt wurden.

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

      Eine Beispielausgabe sieht wie folgt aus.

      subnet-0a1a56c486EXAMPLE,subnet-099e6ca77aEXAMPLE
    4. Aktivieren Sie die Option „IPv6-Adressen automatisch zuweisen“ für die erstellten öffentlichen Subnetze.

      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. Rufen Sie die Namen der Subnetze und Sicherheitsgruppen, die mit der Vorlage erstellt wurden, aus dem bereitgestellten AWS CloudFormation Stack ab und speichern Sie sie in Variablen, um sie in einem späteren Schritt zu verwenden.

      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. Erstellen Sie eine IAM Cluster-Rolle und fügen Sie ihr die erforderliche von Amazon EKS IAM verwaltete Richtlinie hinzu. Kubernetes Von Amazon EKS verwaltete Cluster rufen in Ihrem Namen andere AWS Dienste auf, um die Ressourcen zu verwalten, die Sie mit dem Service verwenden.

    1. Führen Sie den folgenden Befehl aus, um die Datei eks-cluster-role-trust-policy.json zu erstellen.

      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. Führen Sie den folgenden Befehl aus, um eine Variable für Ihren Rollennamen festzulegen. Sie können ersetzen myAmazonEKSClusterRole mit einem beliebigen Namen, den Sie wählen.

      export cluster_role_name=myAmazonEKSClusterRole
    3. Erstellen Sie die -Rolle.

      aws iam create-role --role-name $cluster_role_name --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
    4. Rufen Sie ARN die IAM Rolle ab und speichern Sie sie für einen späteren Schritt in einer Variablen.

      CLUSTER_IAM_ROLE=$(aws iam get-role --role-name $cluster_role_name --query="Role.Arn" --output text)
    5. Hängen Sie die erforderliche von Amazon EKS verwaltete IAM Richtlinie an die Rolle an.

      aws iam attach-role-policy --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy --role-name $cluster_role_name
  4. Erstellen Sie Ihren Cluster.

    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: Möglicherweise erhalten Sie die Fehlermeldung, dass eine der Availability Zones in Ihrer Anfrage nicht über genügend Kapazität verfügt, um einen EKS Amazon-Cluster zu erstellen. Wenn dies der Fall ist, enthält die Fehlerausgabe die Availability Zones, die einen neuen Cluster unterstützen können. Versuchen Sie, Ihren Cluster mit mindestens zwei Subnetzen erneut zu erstellen, die sich in den unterstützten Availability Zones für Ihr Konto befinden. Weitere Informationen finden Sie unter Unzureichende Kapazität.

      Die Erstellung des Clusters dauert mehrere Minuten. Führen Sie den folgenden Befehl aus. Fahren Sie erst mit dem nächsten Schritt fort, wenn die Ausgabe des Befehls lautetACTIVE.

      aws eks describe-cluster --region $region_code --name $cluster_name --query cluster.status
  5. Erstellen oder aktualisieren Sie eine kubeconfig-Datei für Ihren Cluster, sodass Sie mit Ihrem Cluster kommunizieren können.

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

    Standardmäßig wird die config Datei in erstellt ~/.kube oder die Konfiguration des neuen Clusters wird einer vorhandenen config Datei in hinzugefügt~/.kube.

  6. Erstellen Sie eine IAM Knotenrolle.

    1. Führen Sie den folgenden Befehl aus, um die Datei vpc-cni-ipv6-policy.json zu erstellen.

      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. Erstellen Sie die IAM Richtlinie.

      aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
    3. Führen Sie den folgenden Befehl aus, um die Datei node-role-trust-relationship.json zu erstellen.

      cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
    4. Führen Sie den folgenden Befehl aus, um eine Variable für Ihren Rollennamen festzulegen. Sie können ersetzen AmazonEKSNodeRole mit einem beliebigen Namen, den Sie wählen.

      export node_role_name=AmazonEKSNodeRole
    5. Erstellen Sie die IAM Rolle.

      aws iam create-role --role-name $node_role_name --assume-role-policy-document file://"node-role-trust-relationship.json"
    6. Hängen Sie die IAM Richtlinie an die IAM Rolle an.

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

      Der Einfachheit halber ist in diesem Tutorial die Richtlinie an diese IAM Rolle angehängt. In einem Produktionscluster empfehlen wir jedoch, die Richtlinie einer separaten IAM Rolle zuzuordnen. Weitere Informationen finden Sie unter Konfigurieren Sie VPC CNI das zu verwendende Amazon-Plugin IRSA.

    7. Fügen Sie der IAM Rolle zwei erforderliche IAM verwaltete Richtlinien hinzu.

      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. Rufen Sie ARN die IAM Rolle ab und speichern Sie sie für einen späteren Schritt in einer Variablen.

      node_iam_role=$(aws iam get-role --role-name $node_role_name --query="Role.Arn" --output text)
  7. Erstellen Sie eine verwaltete Knotengruppe.

    1. Sehen Sie sich IDs die Subnetze an, die Sie in einem vorherigen Schritt erstellt haben.

      echo $subnets

      Eine Beispielausgabe sieht wie folgt aus.

      subnet-0a1a56c486EXAMPLE,subnet-099e6ca77aEXAMPLE,subnet-0377963d69EXAMPLE,subnet-0c05f819d5EXAMPLE
    2. Erstellen Sie die Knotengruppe. Ersetzen 0a1a56c486EXAMPLE, 099e6ca77aEXAMPLE, 0377963d69EXAMPLE, und 0c05f819d5EXAMPLE mit den Werten, die in der Ausgabe des vorherigen Schritts zurückgegeben wurden. Achten Sie darauf, die Kommas zwischen dem Subnetz IDs aus der vorherigen Ausgabe im folgenden Befehl zu entfernen. Sie können ersetzen t3.medium mit einem beliebigen AWS Nitro System-Instanztyp.

      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

      Das Erstellen der Knotengruppe nimmt einige Minuten in Anspruch. Führen Sie den folgenden Befehl aus. Fahren Sie erst mit dem nächsten Schritt fort, wenn die zurückgegebene Ausgabe ACTIVE

      aws eks describe-nodegroup --region $region_code --cluster-name $cluster_name --nodegroup-name $nodegroup_name \ --query nodegroup.status --output text
  8. Bestätigen Sie, dass die Standardeinstellung Pods sind IPv6 Adressen in der IP Spalte zugewiesen.

    kubectl get pods -n kube-system -o wide

    Eine Beispielausgabe sieht wie folgt aus.

    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. Vergewissern Sie sich, dass den Standard-Services in der IP-Spalte IPv6-Adressen zugewiesen wurden.

    kubectl get services -n kube-system -o wide

    Eine Beispielausgabe sieht wie folgt aus.

    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. (Optional) Stellen Sie eine Beispielanwendung bereit, oder stellen Sie den Load AWS Balancer Controller und eine Beispielanwendung bereit, um den Lastenausgleich von HTTP Anwendungen Weiterleiten von Anwendungen und HTTP Datenverkehr mit Application Load Balancers oder den Netzwerkverkehr mit Route TCP und UDP Verkehr mit Network Load Balancers zu IPv6 Pods.

  11. Nachdem Sie mit dem Cluster und den Knoten fertig sind, die Sie für dieses Tutorial erstellt haben, sollten Sie die Ressourcen bereinigen, die Sie mit den folgenden Befehlen erstellt haben. Stellen Sie sicher, dass Sie keine der Ressourcen außerhalb dieses Tutorials verwenden, bevor Sie sie löschen.

    1. Wenn Sie diesen Schritt in einer anderen Shell ausführen als in den vorherigen Schritten, legen Sie die Werte aller Variablen fest, die in den vorherigen Schritten verwendet wurden, und ersetzen Sie die example values mit den Werten, die Sie bei Abschluss der vorherigen Schritte angegeben haben. Wenn Sie diesen Schritt in derselben Shell ausführen, in der Sie die vorherigen Schritte ausgeführt haben, fahren Sie mit dem nächsten Schritt fort.

      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. Löschen Sie Ihre Knotengruppe.

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

      Dies dauert in der Regel einige Minuten. Führen Sie den folgenden Befehl aus. Fahren Sie nicht mit dem nächsten Schritt fort, wenn eine Ausgabe zurückgegeben wird.

      aws eks list-nodegroups --region $region_code --cluster-name $cluster_name --query nodegroups --output text
    3. Löschen Sie den Cluster.

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

      Das Löschen des Clusters nimmt einige Minuten in Anspruch. Stellen Sie vor dem Fortfahren sicher, dass der Cluster mit dem folgenden Befehl gelöscht wird.

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

      Fahren Sie erst mit dem nächsten Schritt fort, wenn Ihre Ausgabe der folgenden Ausgabe ähnelt.

      An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: my-cluster.
    4. Löschen Sie die IAM Ressourcen, die Sie erstellt haben. Ersetzen AmazonEKS_CNI_IPv6_Policy mit dem Namen, den Sie gewählt haben, wenn Sie einen anderen Namen als den in den vorherigen Schritten verwendeten gewählt haben.

      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. Löschen Sie den AWS CloudFormation Stapel, der das erstellt hatVPC.

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