Auf dieser Seite wird erläutert, wie Sie autorisierten Netzwerkzugriff auf Cluster-Steuerungsebenen in Google Kubernetes Engine-Clustern (GKE) gewähren. Allgemeine Informationen zum GKE-Netzwerk finden Sie in der Netzwerkübersicht.
Übersicht
Mit autorisierten Netzwerken können Sie CIDR-Bereiche angeben und IP-Adressen in diesen Bereichen den Zugriff auf den Endpunkt der Clustersteuerungsebene mithilfe von HTTPS ermöglichen. Autorisierte Netzwerke sind mit allen Clustern kompatibel.
GKE nutzt sowohl Transport Layer Security (TLS) als auch Authentifizierung, um einen sicheren Zugriff auf den Endpunkt der Clustersteuerungsebene über das öffentliche Internet zu ermöglichen. Dadurch haben Sie die Flexibilität, Ihren Cluster standortunabhängig zu verwalten. Mit einem autorisierten Netzwerk können Sie den Zugriff auf bestimmte Gruppen von IP-Adressen weiter einschränken.
Private Cluster führen Knoten aus, die nur interne IP-Adressen haben. Sie lassen nicht zu, dass öffentliche IP-Adressen über das Internet auf den Endpunkt der Steuerungsebene zugreifen. Darüber hinaus erlauben private Cluster Google Cloud-IP-Adressen nicht, standardmäßig auf den Endpunkt der Steuerungsebene zuzugreifen. Bei Verwendung autorisierter Netzwerke in privaten Clustern können Sie die Steuerungsebene nur über zulässige CIDRs, über Knoten und Pods innerhalb der VPC Ihres Clusters und über interne Produktionsjobs von Google, die Ihre Steuerungsebene verwalten, erreichen.
Vorteile
Das Hinzufügen autorisierter Netzwerke kann für den Containercluster weitere Sicherheitsvorteile mit sich bringen. Autorisierte Netzwerke gewähren Zugriff auf eine bestimmte, von Ihnen festgelegte Gruppe von Adressen (z. B. lokale). So schützen Sie den Zugang zum Cluster, wenn es eine Sicherheitslücke bei der Authentifizierung des Clusters oder des Autorisierungsmechanismus gibt.
Beschränkungen
- Öffentliche Cluster können bis zu 50 CIDR-Bereiche in autorisierten Netzwerken haben. Private Cluster können bis zu 100 haben.
- Wenn Sie ein Subnetz erweitern, das von einem Cluster mit autorisierten Netzwerken verwendet wird, müssen Sie das autorisierte Netzwerk so aktualisieren, dass es den erweiterten IP-Adressbereich enthält.
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Achten Sie darauf, dass die Google Kubernetes Engine API aktiviert ist. Google Kubernetes Engine API aktivieren
- Prüfen Sie, ob die Google Cloud CLI installiert ist.
- Mit den folgenden Methoden können Sie die Standardeinstellungen der Google Cloud CLI für Ihr Projekt einrichten:
- Verwenden Sie
gcloud init
, wenn Sie die Standardeinstellungen für Projekte ansehen möchten. - Verwenden Sie
gcloud config
, um Ihre Projekt-ID, Zone und Region individuell festzulegen. -
Führen Sie
gcloud init
aus und folgen Sie der Anleitung:gcloud init
Wenn Sie SSH auf einem Remote-Server verwenden, können Sie mit dem Flag
--console-only
verhindern, dass mit dem Befehl ein Browserfenster geöffnet wird:gcloud init --console-only
- Folgen Sie der Anleitung, um die gcloud CLI für die Nutzung Ihres Google Cloud-Kontos zu autorisieren.
- Erstellen Sie eine neue Konfiguration oder wählen Sie eine vorhandene aus.
- Wählen Sie ein Google Cloud-Projekt aus.
- Wählen Sie eine Compute Engine-Standardzone aus.
- Wählen Sie eine Compute Engine-Standardregion aus.
- Legen Sie Ihre standardmäßige Projekt-ID fest:
gcloud config set project PROJECT_ID
- Legen Sie Ihre standardmäßige Compute Engine-Region fest (z. B.
us-central1
):gcloud config set compute/region COMPUTE_REGION
- Legen Sie Ihre standardmäßige Compute Engine-Zone fest (z. B.
us-central1-c
):gcloud config set compute/zone COMPUTE_ZONE
- Aktualisieren Sie
gcloud
auf die neueste Version:gcloud components update
gcloud init
gcloud config
Durch das Festlegen von Standardspeicherorten können Sie in der gcloud CLI Fehler wie One of [--zone, --region] must be supplied: Please specify location
vermeiden.
Cluster mit autorisierten Netzwerken erstellen
Einen Cluster mit einem oder mehreren autorisierten Netzwerken können Sie über das Google Cloud CLI, die Google Cloud Console oder die GKE API erstellen.
gcloud
Führen Sie den folgenden Befehl aus:
gcloud container clusters create CLUSTER_NAME \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,...
Dabei gilt:
CLUSTER_NAME
ist der Name Ihres vorhandenen Clusters.CIDR1,CIDR2,...
ist eine durch Kommas getrennte Liste der CIDR-Werte für die autorisierten Netzwerke. Beispiel:8.8.8.8/32,8.8.8.0/24
.
Console
Rufen Sie in der Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf add_box Erstellen.
Konfigurieren Sie den Cluster nach Bedarf.
Klicken Sie im Navigationsmenü unter Cluster die Option Netzwerk an.
Klicken Sie unter Erweiterte Netzwerkoptionen das Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren an.
Klicken Sie auf Autorisiertes Netzwerk hinzufügen.
Geben Sie einen Namen für das Netzwerk ein.
Geben Sie unter Netzwerk einen CIDR-Bereich ein, dem Sie Zugriff auf die Cluster-Steuerungsebene gewähren möchten.
Klicken Sie auf Fertig. Fügen Sie bei Bedarf weitere autorisierte Netzwerke hinzu.
Klicken Sie auf Erstellen.
API
Geben Sie in Ihrer Cluster-create
-Anfrage das Objekt masterAuthorizedNetworksConfig
an:
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": string,
"cidrBlock": string
}
]
}
Weitere Informationen finden Sie unter MasterAuthorizedNetworksConfig.
Privaten Cluster mit autorisierten Netzwerken erstellen
Informationen zum Erstellen eines privaten Clusters mit einem oder mehreren autorisierten Netzwerken finden Sie unter Private Cluster.
Einem vorhandenen Cluster ein autorisiertes Netzwerk hinzuzufügen
Sie können einem vorhandenen Cluster ein autorisiertes Netzwerk über die gcloud CLI oder die Cloud Console hinzufügen.
gcloud
Führen Sie den folgenden Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,...
Dabei gilt:
CLUSTER_NAME
ist der Name Ihres vorhandenen Clusters.CIDR1,CIDR2,...
ist eine durch Kommas getrennte Liste der CIDR-Werte für die autorisierten Netzwerke. Beispiel:8.8.8.8/32,8.8.8.0/24
.
Console
Rufen Sie in der Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Netzwerk im Feld Autorisierte Steuerungsebenennetzwerke auf edit Autorisierte Steuerungsebenennetzwerke bearbeiten.
Klicken Sie das Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren an.
Klicken Sie auf Autorisiertes Netzwerk hinzufügen.
Geben Sie einen Namen für das Netzwerk ein.
Geben Sie unter Netzwerk einen CIDR-Bereich ein, dem Sie Zugriff auf die Cluster-Steuerungsebene gewähren möchten.
Klicken Sie auf Fertig. Fügen Sie bei Bedarf weitere autorisierte Netzwerke hinzu.
Klicken Sie auf Änderungen speichern.
API
Geben Sie in Ihrer Cluster-update
-Anfrage das Feld desiredMasterAuthorizedNetworksConfig
an:
Geben Sie im Feld das Objekt MasterAuthorizedNetworksConfig an:
"desiredMasterAuthorizedNetworksConfig": {
object(MasterAuthorizedNetworksConfig)
}
Autorisiertes Netzwerk prüfen
Sie können ein autorisiertes Netzwerk in einem vorhandenen Cluster mithilfe der gcloud CLI oder der Cloud Console prüfen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters describe CLUSTER_NAME
Die entsprechende Ausgabe sieht etwa so aus:
...
masterAuthorizedNetworksConfig:
cidrBlocks:
- cidrBlock: 8.8.8.8/32
- cidrBlock: 8.8.4.4/32
enabled: true
...
Console
Rufen Sie in der Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Unter Netzwerk werden im Feld Autorisierte Netzwerke der Steuerungsebene die zulässigen CIDRs angezeigt.
API
Senden Sie eine get
-Anfrage.
Suchen Sie im Feld masterAuthorizedNetworksConfig
nach CIDR-Blöcken.
Beispiel:
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "Office",
"cidrBlock": "192.0.2.0/24"
}
]
}
Autorisiertes Netzwerk deaktivieren
Sie können autorisierte Netzwerke für einen vorhandenen Cluster über die gcloud CLI oder die Cloud Console deaktivieren.
gcloud
Führen Sie diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--no-enable-master-authorized-networks
Console
Rufen Sie in der Cloud Console die Seite Google Kubernetes Engine auf:
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Netzwerk im Feld Autorisierte Steuerungsebenennetzwerke auf edit Autorisierte Steuerungsebenennetzwerke bearbeiten.
Entfernen Sie das Häkchen aus dem Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren.
Klicken Sie auf Änderungen speichern.
Autorisierte Netzwerke entfernen
Sie können alle benutzerdefinierten autorisierten Netzwerke für einen vorhandenen Cluster über die gcloud CLI oder die Cloud Console entfernen.
gcloud
Führen Sie diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks
```
Console
Rufen Sie in der Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Netzwerk im Feld Autorisierte Steuerungsebenennetzwerke auf edit Autorisierte Steuerungsebenennetzwerke bearbeiten.
Klicken Sie auf
Löschen, um CIDRs zu entfernen.Klicken Sie auf Änderungen speichern.
Fehlerbehebung
In den folgenden Abschnitten wird erläutert, wie Sie häufige Probleme im Zusammenhang mit autorisierten Netzwerken beheben können.
Zu viele CIDR-Blöcke
gcloud
gibt den folgenden Fehler zurück, wenn Sie versuchen, einen Cluster mit mehr als 50 CIDR-Blöcken zu erstellen oder zu aktualisieren:
ERROR: (gcloud.container.clusters.update) argument --master-authorized-networks: too many args
Um dieses Problem zu beheben, dürfen Sie nicht mehr als 50 CIDR-Blöcke angeben, wenn der Cluster öffentlich ist. Wenn Ihr Cluster privat ist, geben Sie nicht mehr als 100 CIDR-Blöcke an.
Serververbindung kann nicht hergestellt werden
kubectl
-Befehle führen zu einer Zeitüberschreitung wegen falsch konfigurierter CIDR-Blöcke:
Unable to connect to the server: dial tcp MASTER_IP: getsockopt: connection timed out
Geben Sie beim Erstellen oder Aktualisieren eines Clusters die richtigen CIDR-Blöcke an.
Weitere Informationen
- Netzwerkübersicht
- VPC-native Cluster mithilfe von Alias-IP-Adressen erstellen
- Übersicht über Firewallregeln
- Private Cluster einrichten