

 **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 auf**, 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.

# Einschränkung externer IP-Adressen, die Services zugewiesen werden können
<a name="restrict-service-external-ip"></a>

Kubernetes-Services können von innerhalb eines Clusters aus erreicht werden durch:
+ Eine Cluster-IP-Adresse, die automatisch von Kubernetes zugewiesen wird
+ Jede IP-Adresse, die Sie für die `externalIPs`-Eigenschaft in einer Service-Spezifikation festlegen. Externe IP-Adressen werden nicht von Kubernetes verwaltet und liegen in der Verantwortung des Cluster-Administrators. Externe IP-Adressen, die mit `externalIPs` festgelegt sind, unterscheiden sich von der externen IP-Adresse, die einem Service vom Typ `LoadBalancer` von einem Cloud-Anbieter zugewiesen ist.

Für weitere Informationen über Kubernetes Service, siehe [Service](https://kubernetes.io/docs/concepts/services-networking/service/) in der Kubernetes-Dokumentation. Sie können die IP-Adressen einschränken, die für `externalIPs` in einer Service-Spezifikation festgelegt werden können.

1. Stellen Sie `cert-manager` bereit, um Webhook-Zertifikate zu verwalten. Weitere Informationen dazu finden Sie in der [cert-manager](https://cert-manager.io/docs/)-Dokumentation.

   ```
   kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
   ```

1. Überprüfen Sie, ob die `cert-manager`-Pods ausgeführt werden.

   ```
   kubectl get pods -n cert-manager
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   NAME                                       READY   STATUS    RESTARTS   AGE
   cert-manager-58c8844bb8-nlx7q              1/1     Running   0          15s
   cert-manager-cainjector-745768f6ff-696h5   1/1     Running   0          15s
   cert-manager-webhook-67cc76975b-4v4nk      1/1     Running   0          14s
   ```

1. Überprüfen Sie Ihre vorhandenen Services, um sicherzustellen, dass keiner von ihnen externe IP-Adressen zugewiesen sind, die nicht in dem CIDR-Block enthalten sind, auf den Sie Adressen beschränken möchten.

   ```
   kubectl get services -A
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   NAMESPACE                      NAME                                    TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)         AGE
   cert-manager                   cert-manager                            ClusterIP      10.100.102.137   <none>          9402/TCP        20m
   cert-manager                   cert-manager-webhook                    ClusterIP      10.100.6.136     <none>          443/TCP         20m
   default                        kubernetes                              ClusterIP      10.100.0.1       <none>          443/TCP         2d1h
   externalip-validation-system   externalip-validation-webhook-service   ClusterIP      10.100.234.179   <none>          443/TCP         16s
   kube-system                    kube-dns                                ClusterIP      10.100.0.10      <none>          53/UDP,53/TCP   2d1h
   my-namespace                   my-service                              ClusterIP      10.100.128.10    192.168.1.1     80/TCP          149m
   ```

   Wenn es sich bei einem der Werte um IP-Adressen handelt, die sich nicht innerhalb des Blocks befinden, auf den Sie den Zugriff einschränken möchten, müssen Sie die Adressen so ändern, dass sie sich innerhalb des Blocks befinden, und die Services erneut bereitstellen. Zum Beispiel, der `my-service`-Service in der vorherigen Ausgabe hat eine externe IP-Adresse zugewiesen, die sich nicht innerhalb des CIDR-Blockbeispiels in Schritt 5 befindet.

1. Laden Sie das externe IP-Webhook-Verzeichnis herunter. Sie können auch den [Quellcode für Webhook](https://github.com/kubernetes-sigs/externalip-webhook) auf GitHub ansehen.

   ```
   curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/docs/externalip-webhook.yaml
   ```

1. CIDR-Blöcke angeben. Öffnen Sie die heruntergeladene Datei in Ihrem Editor und entfernen Sie `\#` beim Start der folgenden Zeilen.

   ```
   #args:
   #- --allowed-external-ip-cidrs=10.0.0.0/8
   ```

   Ersetzen Sie `10.0.0.0/8` mit Ihrem eigenen CIDR-Block. Sie können so viele Blöcke wie gewünscht festlegen. Wenn Sie mehrere Blöcke angeben, fügen Sie ein Komma zwischen Blöcken hinzu.

1. Wenn sich Ihr Cluster nicht in der Region `us-west-2` AWS befindet, ersetzen Sie `us-west-2`, `602401143452` und `amazonaws.com` in der Datei durch die folgenden Befehle. Ersetzen Sie vor dem Ausführen der Befehle {{region-code}} und {{111122223333}} durch den Wert für Ihre AWS-Region aus der Liste in [Amazon-Container-Image-Registrierungen für Amazon-EKS-Add-Ons anzeigen](add-ons-images.md).

   ```
   sed -i.bak -e 's|602401143452|111122223333|' externalip-webhook.yaml
   sed -i.bak -e 's|us-west-2|region-code|' externalip-webhook.yaml
   sed -i.bak -e 's|amazonaws.com||' externalip-webhook.yaml
   ```

1. Wenden Sie das Manifest auf Ihren Cluster an.

   ```
   kubectl apply -f externalip-webhook.yaml
   ```

   Ein Versuch, einen Service auf Ihrem Cluster mit einer IP-Adresse bereitzustellen, die für `externalIPs` festgelegt ist, die nicht in den Blöcken enthalten ist, die Sie im Schritt CIDR-Blöcke angeben angegeben haben, schlägt fehl.