menu
arrow_back

Verbindung aus einer Kubernetes Engine-Anwendung mit Cloud SQL herstellen

—/100

Checkpoints

arrow_forward

Create required resources with the fully automated deployment

Verbindung aus einer Kubernetes Engine-Anwendung mit Cloud SQL herstellen

1 Stunde 15 Minuten 7 Guthabenpunkte

GSP449

Google Cloud-Labs zum selbstbestimmten Lernen

Überblick

In diesem Lab wird gezeigt, wie einfach eine Anwendung in Kubernetes Engine mit einer Cloud SQL-Instanz verbunden werden kann, wobei der Cloud SQL-Proxy-Container als Sidecar-Container dient. Sie stellen einen Kubernetes Engine-Cluster und eine Cloud SQL Postgres-Instanz bereit und stellen mit dem Cloud SQL-Proxy-Container die Kommunikation zwischen beiden Seiten her.

In diesem Lab konzentrieren wir uns auf die Verbindung zu einer Cloud SQL-Instanz mit einem Cloud SQL-Proxy-Container. Doch die Konzepte sind für alle verwalteten GCP-Dienste, die API-Zugriff erfordern, gleich.

Dieses Lab wurde von erfahrenen GKE-Entwicklern konzipiert und soll Ihnen eine genauere Vorstellung davon geben, wie über einen Proxy-Container Verbindungen zu Cloud SQL hergestellt werden. Die entsprechende Demo auf GitHub können Sie sich hier ansehen. Wir freuen uns über jeden Beitrag zu unseren Assets!

Lerninhalte:

  • Datenbank vor unbefugtem Zugriff schützen – mit einem Dienstkonto ohne Zugriffsberechtigungen in den Kubernetes Engine-Knoten

  • Anmeldedaten eines Dienstkontos mit Zugriffsberechtigungen in einen Container einfügen, der in Kubernetes Engine ausgeführt wird

  • Cloud SQL-Proxy nutzen, um die Arbeitsvorgänge bei der Verbindung zur Cloud SQL-Instanz zu verlagern und weniger Infrastrukturdaten an die Anwendung zu geben

Dienstkonten ohne Berechtigungen

Allen Kubernetes Engine-Knoten wird das Compute Engine-Standarddienstkonto zugewiesen. Dieses Dienstkonto ist mit umfangreichen Berechtigungen ausgestattet und hat Zugriff auf viele GCP-Dienste. Der Aufbau des Google Cloud SDK ist so angelegt: Für Software, die Sie schreiben, werden die Anmeldedaten verwendet, die der Compute Engine-Instanz zugewiesen sind, auf der die Software ausgeführt wird. Da nicht alle Container dieselben Berechtigungen wie das Compute Engine-Standarddienstkonto haben sollen, brauchen Sie unterschiedliche Dienstkonten. Sie erstellen zuerst ein Dienstkonto mit geringster Berechtigung für Ihre Kubernetes Engine-Knoten und dann spezifischere Dienstkonten mit geringster Berechtigung für Ihre Container.

Dienstkonten mit Berechtigungen in Containern

Es gibt nur zwei Möglichkeiten, um Anmeldedaten für das Dienstkonto abzurufen:

  1. Über Ihre Host-Instanz (das soll vermieden werden)
  2. Über eine Datei mit Anmeldedaten

In diesem Lab erfahren Sie, wie Sie die Datei mit den Anmeldedaten in den Container laden, der in Kubernetes Engine ausgeführt wird, damit Ihre Anwendung über die erforderlichen Berechtigungen verfügt.

Cloud SQL Proxy

Mit dem Cloud SQL-Proxy können Sie die Arbeitsschritte zum Herstellen und Verwalten der Verbindung zur Cloud SQL-Instanz an den Cloud SQL-Proxy-Prozess verlagern. Der Vorteil ist dabei, dass Ihre Anwendung die Verbindungsdetails nicht kennen muss, wodurch die Secret-Verwaltung vereinfacht wird. Der Cloud SQL-Proxy wird von Google als Docker-Container vorkonfiguriert und diesen Container können Sie dann zusammen mit Ihrem Anwendungscontainer in demselben Kubernetes Engine-Pod ausführen.

Wenn Sie sich in Qwiklabs anmelden, erhalten Sie Zugriff auf den Rest des Labs – und mehr!

  • Sie erhalten vorübergehenden Zugriff auf Google Cloud Console.
  • Mehr als 200 Labs für Einsteiger und Experten.
  • In kurze Sinneinheiten eingeteilt, damit Sie in Ihrem eigenen Tempo lernen können.
Beitreten, um dieses Lab zu starten