

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

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.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub ** Link Diese Seite ** bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.

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.

# Erste Schritte mit dem EKS Hybrid Nodes Gateway
<a name="hybrid-nodes-gateway-getting-started"></a>

Diese Seite führt Sie durch die Voraussetzungen, die Vorbereitung der Umgebung, die Installation, Überprüfung und Deinstallation des Amazon EKS Hybrid Nodes Gateways. Eine Einführung in das Gateway und seine Architektur finden Sie unter[Amazon EKS-Gateway für Hybridknoten](hybrid-nodes-gateway-overview.md).

## Voraussetzungen
<a name="hybrid-nodes-gateway-prerequisites"></a>

Bevor Sie das Hybrid Nodes Gateway installieren, stellen Sie sicher, dass Ihre Umgebung die folgenden Anforderungen erfüllt:
+  **EKS-Cluster mit Cilium CNI- und VTEP-Unterstützung ** — Ihr EKS-Cluster muss die EKS-Version von Cilium als CNI auf Hybridknoten verwenden, und Cilium VTEP muss aktiviert sein. Weitere Informationen finden Sie unter [CNI für das Hybrid Nodes Gateway konfigurieren](hybrid-nodes-gateway-cni.md).
+  ** AWS VPC-CNI auf Cloud-Knoten ** — Die Gateway-Knoten und andere Cloud-Knoten im Cluster müssen das VPC-CNI verwenden. AWS Das Gateway ist auf VPC-native Routing angewiesen, um den Verkehr zwischen der VPC und dem VXLAN-Tunnel weiterzuleiten.
+  **Hybride Konnektivität ** — Eine private Verbindung zwischen Ihrer VPC und der lokalen Umgebung ist erforderlich. Sie können AWS Direct Connect, AWS Site-to-Site VPN oder Ihre eigene VPN-Lösung verwenden. Weitere Informationen finden Sie unter [Vorbereitung der Vernetzung für Hybridknoten](hybrid-nodes-networking.md).
+  **Zulässiger VXLAN-Verkehr ** — Die an die Gateway-EC2-Instances angeschlossenen Sicherheitsgruppen müssen eingehenden und ausgehenden UDP-Verkehr auf Port 8472 zulassen. Auf der Seite des Hybridknotens müssen die lokalen Firewallregeln auch den UDP-Port 8472-Verkehr zu und von den IP-Adressen des Gateway-Knotens zulassen.
+  **IAM-Berechtigungen für die Verwaltung von Routing-Tabellen ** — Das Gateway benötigt die folgenden EC2-Aktionen, um VPC-Routing-Tabellen zu verwalten:
  +  `ec2:DescribeRouteTables` 
  +  `ec2:CreateRoute` 
  +  `ec2:ReplaceRoute` 
  +  `ec2:DescribeInstances` 

    Sie können diese Berechtigungen auf eine der folgenden Arten gewähren:

------
#### [ EKS Pod Identity (recommended) ]

    Verwenden Sie [ EKS Pod Identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html), um Berechtigungen nur für das Dienstkonto des Gateway-Pods zu gewähren.

    1. Installieren Sie das EKS Pod Identity Agent-Add-On auf Ihrem Cluster, falls es noch nicht installiert ist:

       ```
       aws eks create-addon \
         --cluster-name {{CLUSTER_NAME}} \
         --addon-name eks-pod-identity-agent
       ```

    1. Erstellen Sie eine IAM-Rolle mit den erforderlichen EC2-Berechtigungen und einer Vertrauensrichtlinie für EKS Pod Identity:

       ```
       cat > gateway-trust-policy.json << 'EOF'
       {
         "Version": "2012-10-17" 		 	 	 ,
         "Statement": [
           {
             "Effect": "Allow",
             "Principal": { "Service": "pods.eks.amazonaws.com" },
             "Action": ["sts:AssumeRole", "sts:TagSession"]
           }
         ]
       }
       EOF
       
       aws iam create-role \
         --role-name EKSHybridNodesGatewayRole \
         --assume-role-policy-document file://gateway-trust-policy.json
       
       aws iam put-role-policy \
         --role-name EKSHybridNodesGatewayRole \
         --policy-name HybridNodesGatewayRouteTable \
         --policy-document '{
           "Version": "2012-10-17" 		 	 	 ,
           "Statement": [{
             "Effect": "Allow",
             "Action": [
               "ec2:DescribeRouteTables",
               "ec2:CreateRoute",
               "ec2:ReplaceRoute",
               "ec2:DescribeInstances"
             ],
             "Resource": "*"
           }]
         }'
       ```

    1. Erstellen Sie eine Pod-Identitätszuordnung, die die IAM-Rolle mit dem Gateway-Dienstkonto verknüpft:

       ```
       aws eks create-pod-identity-association \
         --cluster-name {{CLUSTER_NAME}} \
         --namespace eks-hybrid-nodes-gateway \
         --service-account eks-hybrid-nodes-gateway \
         --role-arn {{arn:aws:iam::ACCOUNT_ID:role/EKSHybridNodesGatewayRole}}
       ```

------
#### [ Node IAM role ]

    Hängen Sie eine integrierte oder verwaltete Richtlinie mit den erforderlichen Berechtigungen an die IAM-Rolle an, die dem Instanzprofil der Gateway-Knoten zugeordnet ist:

    ```
    aws iam put-role-policy \
      --role-name {{NODE_ROLE_NAME}} \
      --policy-name HybridNodesGatewayRouteTable \
      --policy-document '{
        "Version": "2012-10-17" 		 	 	 ,
        "Statement": [{
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeRouteTables",
            "ec2:CreateRoute",
            "ec2:ReplaceRoute",
            "ec2:DescribeInstances"
          ],
          "Resource": "*"
        }]
      }'
    ```

    Alle Pods auf den Gateway-Knoten werden über diese Berechtigungen verfügen.

------
+  **EKS-Auto-Modus (wenn Sie den Auto-Modus für Gateway-Knoten verwenden) ** — Wenn Sie den EKS-Auto-Modus zur Bereitstellung von Gateway-Knoten verwenden möchten, muss der automatische Modus auf Ihrem EKS-Cluster aktiviert sein. Weitere Informationen finden Sie unter EKS-Automatikmodus [ aktivieren](https://docs.aws.amazon.com/eks/latest/userguide/migrate-auto.html).

## Bereiten Sie Gateway-Knoten vor
<a name="hybrid-nodes-gateway-prepare-nodes"></a>

Das Gateway benötigt mindestens zwei EC2-Knoten für eine hohe Verfügbarkeit. Es gibt zwei unterstützte Knotenkonfigurationsoptionen für das Gateway:
+  [EKS-Automatikmodus (empfohlen)](#hybrid-nodes-gateway-auto-mode-nodes)— Knoten werden automatisch mithilfe eines `NodePool` und `NodeClass` bereitgestellt. Source/destination Check, Labels und Taints werden alle deklarativ konfiguriert.
+  [Verwaltete Knotengruppen](#hybrid-nodes-gateway-mng-nodes)— Sie stellen Knoten mithilfe einer verwalteten Knotengruppe oder mithilfe selbstverwalteter Knoten bereit. Labels können über die API für verwaltete Knotengruppen konfiguriert werden, und die source/destination Überprüfung kann mithilfe einer benutzerdefinierten Startvorlage mit Benutzerdaten deaktiviert werden.

### EKS-Automatikmodus (empfohlen)
<a name="hybrid-nodes-gateway-auto-mode-nodes"></a>

Wenn Sie den EKS-Automatikmodus verwenden, müssen Sie `NodeClass` vor der Installation des Helm-Diagramms ein `NodePool` Band erstellen. Das stellt NodePool EC2-Instances die richtigen Labels, Taints und source/destination Checkkonfigurationen zur Verfügung. Sie müssen Knoten nicht manuell bereitstellen oder konfigurieren.

Wenden Sie die folgenden Ressourcen auf Ihren Cluster an und ersetzen Sie dabei die Platzhalterwerte:
+  {{YOUR\_NODE\_ROLE}}— Der Name der Node-IAM-Rolle, die von EKS Auto Mode zur Bereitstellung von Knoten verwendet wird. Dies ist die Rolle, die Sie konfiguriert haben (oder die EKS erstellt hat), als Sie den automatischen Modus auf dem Cluster aktiviert haben. Weitere Informationen finden Sie unter [ Erstellen einer Node-IAM-Rolle für den EKS-Automatikmodus](https://docs.aws.amazon.com/eks/latest/userguide/auto-create-node-role.html).
+  {{YOUR\_CLUSTER\_NAME}}— Ihr EKS-Clustername.
+  {{SUBNET\_ID\_1}}, {{SUBNET\_ID\_2}} — Subnetz-IDs in verschiedenen Availability Zones, in denen Gateway-Knoten bereitgestellt werden.

```
apiVersion: eks.amazonaws.com/v1
kind: NodeClass
metadata:
  name: hybrid-gateway
spec:
  advancedNetworking:
    sourceDestCheck: DisabledPrimaryENI
  role: {{YOUR_NODE_ROLE}}
  securityGroupSelectorTerms:
    - tags:
        aws:eks:cluster-name: {{YOUR_CLUSTER_NAME}}
  subnetSelectorTerms:
    - id: {{SUBNET_ID_1}}
    - id: {{SUBNET_ID_2}}
---
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
  name: hybrid-gateway
spec:
  template:
    metadata:
      labels:
        hybrid-gateway-node: "true"
    spec:
      expireAfter: 336h
      nodeClassRef:
        group: eks.amazonaws.com
        kind: NodeClass
        name: hybrid-gateway
      requirements:
        - key: karpenter.sh/capacity-type
          operator: In
          values:
            - on-demand
        - key: eks.amazonaws.com/instance-category
          operator: In
          values:
            - c
            - m
            - r
        - key: eks.amazonaws.com/instance-generation
          operator: Gt
          values:
            - "4"
        - key: kubernetes.io/arch
          operator: In
          values:
            - amd64
        - key: kubernetes.io/os
          operator: In
          values:
            - linux
      taints:
        - key: hybrid-gateway-node
          effect: NoSchedule
      terminationGracePeriod: 24h0m0s
  disruption:
    budgets:
      - nodes: 10%
    consolidateAfter: 30s
    consolidationPolicy: WhenEmptyOrUnderutilized
```

Wichtige Felder in dieser Konfiguration:
+  `advancedNetworking.sourceDestCheck: DisabledPrimaryENI`— Deaktiviert die source/destination EC2-Überprüfung der primären ENI des Knotens, sodass das Gateway Datenverkehr weiterleiten kann, der nicht an sich selbst adressiert ist.
+  `taints`— Der `hybrid-gateway-node: NoSchedule` Taint stellt sicher, dass nur Gateway-Pods mit einem entsprechenden Toleranzplan auf diesen Knoten laufen.
+  `labels`— Das `hybrid-gateway-node: "true"` Label wird vom Node-Selektor des Helm-Diagramms verwendet, um Gateway-Pods auf diese Knoten auszurichten.
+  `nodeClassRef`— Verbindet NodePool die NodeClass mit der source/destination Checkkonfiguration.

### Verwaltete Knotengruppen
<a name="hybrid-nodes-gateway-mng-nodes"></a>

Wenn Sie verwaltete Knotengruppen verwenden, erstellen Sie eine dedizierte Knotengruppe für das Gateway mit den erforderlichen Labels, Taints und einer benutzerdefinierten Startvorlage, die die source/destination Überprüfung beim Start deaktiviert.

#### Schritt 1: Eine Startvorlage erstellen
<a name="_step_1_create_a_launch_template"></a>

Erstellen Sie eine Startvorlage mit Benutzerdaten, die die source/destination Überprüfung der primären ENI beim Booten der Instance deaktiviert:

```
# Create the launch template with user data to disable source/dest check
USERDATA=$(cat <<'SCRIPT' | base64 -w 0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==BOUNDARY=="

--==BOUNDARY==
Content-Type: text/x-shellscript; charset="us-ascii"

#!/bin/bash
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" \
  -H "X-aws-ec2-metadata-token-ttl-seconds: 60")
MAC=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/mac)
ENI_ID=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
  "http://169.254.169.254/latest/meta-data/network/interfaces/macs/${MAC}/interface-id")
REGION=$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/placement/region)

aws ec2 modify-network-interface-attribute \
  --network-interface-id "$ENI_ID" \
  --no-source-dest-check \
  --region "$REGION"

--==BOUNDARY==--
SCRIPT
)

aws ec2 create-launch-template \
  --launch-template-name {{YOUR_CLUSTER_NAME}}-gateway-lt \
  --launch-template-data "{\"UserData\":\"${USERDATA}\",\"MetadataOptions\":{\"HttpTokens\":\"required\",\"HttpPutResponseHopLimit\":2}}"
```

**Anmerkung**  
Die IAM-Rolle des Knotens muss über die `ec2:ModifyNetworkInterfaceAttribute` Berechtigung verfügen, damit das Benutzerdatenskript erfolgreich ausgeführt werden kann. Das mehrteilige MIME-Format stellt sicher, dass die Benutzerdaten zusammen mit dem EKS-Bootstrap-Skript ausgeführt werden.

#### Schritt 2: Erstellen Sie die verwaltete Knotengruppe
<a name="_step_2_create_the_managed_node_group"></a>

Erstellen Sie eine dedizierte verwaltete Knotengruppe mit dem Gateway-Label, dem Tint und der Startvorlage aus Schritt 1:

```
aws eks create-nodegroup \
  --cluster-name {{YOUR_CLUSTER_NAME}} \
  --nodegroup-name {{YOUR_CLUSTER_NAME}}-gateway-nodes \
  --subnets {{SUBNET_ID_1 SUBNET_ID_2}} \
  --node-role {{YOUR_NODE_ROLE_ARN}} \
  --instance-types {{INSTANCE_TYPE}} \
  --ami-type AL2023_x86_64_STANDARD \
  --scaling-config desiredSize=2,maxSize=2,minSize=2 \
  --labels hybrid-gateway-node=true \
  --taints "key=hybrid-gateway-node,effect=NO_SCHEDULE" \
  --launch-template "name={{YOUR_CLUSTER_NAME}}-gateway-lt,version=1"
```

Dadurch wird eine verwaltete Knotengruppe mit 2 Knoten erstellt, in der:
+  `--labels`legt fest`hybrid-gateway-node=true`, dass der Knotenselektor des Helm-Diagramms auf diese Knoten abzielt.
+  `--taints`fügt einen `NoSchedule` Taint hinzu, sodass nur Gateway-Pods mit einem passenden Toleranzplan auf diesen Knoten verfügbar sind.
+  `--launch-template`hängt die Startvorlage an, die die Überprüfung beim Booten deaktiviert source/destination .

Verwenden Sie Subnetze in verschiedenen Availability Zones für hohe Verfügbarkeit.

## Installation mit Helm
<a name="hybrid-nodes-gateway-install"></a>

### EKS Auto Mode
<a name="hybrid-nodes-gateway-install-auto"></a>

Führen Sie den folgenden Befehl aus, um das Gateway mit EKS Auto Mode zu installieren:

```
helm install eks-hybrid-nodes-gateway \
  oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \
  --version 1.0.0 \
  --namespace eks-hybrid-nodes-gateway \
  --create-namespace \
  --set vpcCIDR={{VPC_CIDR}} \
  --set podCIDRs={{POD_CIDRS}} \
  --set routeTableIDs={{ROUTE_TABLE_IDS}}
```

### Verwaltete Knotengruppen oder selbstverwaltete Knoten
<a name="hybrid-nodes-gateway-install-mng"></a>

Stellen Sie für verwaltete Knotengruppen oder selbstverwaltete Knoten Folgendes ein: `autoMode.enabled=false`

```
helm install eks-hybrid-nodes-gateway \
  oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \
  --version 1.0.0 \
  --namespace eks-hybrid-nodes-gateway \
  --create-namespace \
  --set autoMode.enabled=false \
  --set vpcCIDR={{VPC_CIDR}} \
  --set podCIDRs={{POD_CIDRS}} \
  --set routeTableIDs={{ROUTE_TABLE_IDS}}
```

### Erforderliche Helm-Werte
<a name="hybrid-nodes-gateway-required-values"></a>

Die folgenden Werte sind für alle Installationen erforderlich:


| Wert | Description | 
| --- | --- | 
|  `vpcCIDR`  | Der CIDR-Block Ihrer EKS-Cluster-VPC (zum Beispiel`10.0.0.0/16`). Wird für die Cilium VTEP-Konfiguration verwendet, sodass Hybridknoten den Verkehr über das Gateway weiterleiten VPC-bound . | 
|  `podCIDRs`  | Comma-separated Liste der Pod-CIDRs, die von Cilium auf Hybridknoten verwendet werden (z. B.). `10.100.0.0/16,10.101.0.0/16` Das Gateway erstellt VPC-Routentabelleneinträge und VXLAN-Routen für diese CIDRs. | 
|  `routeTableIDs`  | Comma-separated Liste der VPC-Routing-Tabellen-IDs zum Programmieren (z. B.). `rtb-0abc1234def567890,rtb-0fed9876cba543210` Das Gateway erstellt in diesen Tabellen Routen, die Hybrid-Pod-CIDRs auf die aktive Gateway-Instanz verweisen. | 

Eine vollständige Liste der konfigurierbaren Werte finden Sie unter[Referenz zur Konfiguration des Amazon EKS Hybrid Nodes Gateways](hybrid-nodes-gateway-configuration.md).

## Überprüfen der Installation
<a name="hybrid-nodes-gateway-verify"></a>

Stellen Sie nach der Installation des Gateways sicher, dass es läuft und fehlerfrei ist.

### Überprüfen Sie den Pod-Status
<a name="hybrid-nodes-gateway-verify-pods"></a>

Vergewissern Sie sich, dass zwei Gateway-Pods laufen:

```
kubectl get pods -n eks-hybrid-nodes-gateway
```

Sie sollten eine Ausgabe sehen, die der folgenden ähnelt:

```
NAME                                        READY   STATUS    RESTARTS   AGE
eks-hybrid-nodes-gateway-5d4f6a7b8c-abc12   1/1     Running   0          2m
eks-hybrid-nodes-gateway-5d4f6a7b8c-def34   1/1     Running   0          2m
```

### Überprüfen Sie die Wahl des Führers
<a name="hybrid-nodes-gateway-verify-leader"></a>

Vergewissern Sie sich, dass ein Team den Leasingvertrag für die Wahl des Leaders erworben hat:

```
kubectl get lease -n eks-hybrid-nodes-gateway
```

Die Ausgabe zeigt den aktuellen Leader in der folgenden `HOLDER` Spalte an:

```
NAME                     HOLDER                                      AGE
hybrid-gateway-leader    eks-hybrid-nodes-gateway-5d4f6a7b8c-abc12   2m
```

### Überprüfen Sie den Gesundheitsendpunkt
<a name="hybrid-nodes-gateway-verify-health"></a>

Stellen Sie mithilfe der Portweiterleitung sicher, dass der Integritätsendpunkt auf dem Leader-Pod reagiert:

```
kubectl port-forward -n eks-hybrid-nodes-gateway {{LEADER_POD_NAME}} 8088:8088 &
curl -s http://localhost:8088/healthz
```

Ein fehlerfreies Gateway gibt eine HTTP 200-Antwort zurück.

### Überprüfen Sie die Einträge in der VPC-Routing-Tabelle
<a name="hybrid-nodes-gateway-verify-routes"></a>

Vergewissern Sie sich in der Amazon VPC-Konsole oder mithilfe der AWS CLI, dass Ihre VPC-Routing-Tabellen Einträge für die Hybrid-Pod-CIDRs enthalten, die auf die ENI der Leader-Gateway-Instance verweisen:

```
aws ec2 describe-route-tables \
  --route-table-ids {{ROUTE_TABLE_ID}} \
  --query "RouteTables[].Routes[?DestinationCidrBlock=='POD_CIDR']"
```

Jeder Hybrid-Pod-CIDR sollte eine Route haben, bei der die primäre ENI der `NetworkInterfaceId` Leader-Instance angegeben ist.

## Deinstallieren
<a name="hybrid-nodes-gateway-uninstall"></a>

Um das Hybrid Nodes Gateway zu entfernen, führen Sie Folgendes aus:

```
helm uninstall eks-hybrid-nodes-gateway --namespace eks-hybrid-nodes-gateway
```

**Anmerkung**  
Durch die Deinstallation des Helm-Charts werden die vom Gateway erstellten VPC-Routing-Tabelleneinträge nicht automatisch entfernt. Löschen Sie nach der Deinstallation manuell die Routen für Ihre Hybrid-Pod-CIDRs aus den VPC-Routing-Tabellen, um zu vermeiden, dass der Datenverkehr an Instances weitergeleitet wird, auf denen das Gateway nicht mehr ausgeführt wird. Sie können Routen mit der CLI entfernen: AWS   

```
aws ec2 delete-route \
  --route-table-id {{ROUTE_TABLE_ID}} \
  --destination-cidr-block {{POD_CIDR}}
```

## Nächste Schritte
<a name="hybrid-nodes-gateway-getting-started-next"></a>
+  [Referenz zur Konfiguration des Amazon EKS Hybrid Nodes Gateways](hybrid-nodes-gateway-configuration.md)— Passen Sie Helm-Werte, CLI-Flags und Parameter für die Wahl des Anführers an.
+  [Gateway-Betrieb von Amazon EKS Hybrid Nodes](hybrid-nodes-gateway-operations.md)— Überwachen Sie das Gateway, machen Sie sich ein Bild vom Failover-Verhalten und planen Sie die Skalierung.
+  [Fehlerbehebung beim Amazon EKS Hybrid Nodes Gateway](hybrid-nodes-gateway-troubleshooting.md)— Diagnostizieren und lösen Sie häufig auftretende Probleme.