Erstellen Sie einen kosteneffizienten Google Kubernetes Engine-Cluster (GKE) und eine Arbeitslast, die für die Ressourcenverwaltung an einem zentralen Ort optimiert ist. In diesem Leitfaden werden die folgenden Vorlagen beschrieben, mit denen Sie eine einfache Webanwendung bereitstellen können:
GKE-GKE-Cluster eine einzelne Region: Erstellen Sie die grundlegende Infrastruktur, die für eine Anwendung in einer einzelnen Region erforderlich ist. Mit dieser Vorlage wird ein sicherer, privater GKE-Cluster eingerichtet, der für die Ressourcenverwaltung optimiert ist.
GKE-Arbeitslast in einer einzelnen Region (Vorschau): Stellen Sie ein Helm-Chart bereit, das die Konfiguration für eine einfache Webanwendung enthält. Die Arbeitslast ist so konfiguriert, dass sie basierend auf der CPU-Auslastung skaliert wird und die Anwendungsverfügbarkeit bei freiwilligen Unterbrechungen gewährleistet ist.
Sie können die Cluster- und Arbeitslastvorlagen beispielsweise bereitstellen, um die folgenden geschäftlichen Anforderungen zu erfüllen:
| Beispiel | Geschäftliche Anforderung | Implementierung |
|---|---|---|
| Interne Line of Business-Anwendung | Eine interne Anwendung erfordert einen strengen Datenstandort in einer bestimmten Region, Kosteneffizienz für die vorhersehbare interne Nutzung und hohe Zuverlässigkeit. | Verwenden Sie die Bereitstellung in einer einzelnen Region, um die Datenlokalität zu gewährleisten. Mit Autoscaling können Sie Ressourcen für die Nachfrage interner Nutzer effizient verwalten. |
| Regionales E-Commerce-Backend | Eine E-Commerce-Plattform benötigt eine Hochverfügbarkeit in einer bestimmten Region, um einen kontinuierlichen Dienst zu gewährleisten, Skalierbarkeit, um Traffic-Spitzen bei Verkaufsaktionen zu bewältigen, und robuste Sicherheit für Kundentransaktionen und ‑daten. | Wenn Sie einen multizonalen Cluster erstellen, erhalten Sie regionale Hochverfügbarkeit. Mit der Konfiguration für den sicheren Start können Sie die Sicherheit sensibler Kundendaten verbessern. |
| Regionale Plattform für Datenverarbeitung und ‑analyse | Eine Plattform zum Verarbeiten und Analysieren großer Datasets erfordert Datenlokalität für Compliance und Leistung, kostenoptimierte Rechenleistung für intermittierende Batchjobs und sicheren Zugriff auf Daten. | Durch die Bereitstellung in einer einzelnen Region bleiben die Daten innerhalb geografischer Grenzen. Sie können Ressourcen für umfangreiche Verarbeitungsaufgaben und Leerlaufzeiten skalieren. |
Architektur
Das folgende Bild zeigt die Komponenten und Verbindungen in der Vorlage:
Im Folgenden werden die Komponentenkonfigurationen in dieser Vorlage beschrieben:
GKE Standard-Cluster: Ein kostengünstiger Cluster mit einer einzelnen Region, in dem Ihre Arbeitslast ausgeführt wird.
In der folgenden Tabelle wird die Clusterkonfiguration in dieser Vorlage beschrieben:
Konfiguration Zweck locationist aufus-central1gesetzt.Beschränkt Clusterressourcen auf ein einzelnes geografisches Gebiet, wodurch die Datenlokalität gewährleistet und die Kosten und Latenz für die regionenübergreifende Datenübertragung minimiert werden. initial_node_countist auf1gesetzt.Definiert einen anfänglichen Knoten, der im Standardknotenpool des Clusters erstellt werden soll, wenn der Cluster zum ersten Mal bereitgestellt wird. In regionalen Clustern ist dies die Anzahl der Knoten pro Zone. release_channelist auf{"channel":"REGULAR"}gesetzt.Sorgt dafür, dass Ihr GKE-Cluster stabile und vorhersehbare Updates erhält, wodurch ein Gleichgewicht zwischen neuen Funktionen und Zuverlässigkeit entsteht. enable_intranode_visibilityist auftruegesetzt.Ermöglicht die Sichtbarkeit des knoteninternen Traffics in VPC-Flusslogs, was für Netzwerkmonitoring, Fehlerbehebung und Sicherheitsanalysen erforderlich ist. control_plane_endpoints_configist auf{"dns_endpoint_config":{"allow_external_traffic":true}}gesetzt.Die GKE-Steuerungsebene ist so konfiguriert, dass sie öffentlich zugänglich ist. So können Sie den Cluster außerhalb Ihres VPC-Netzwerks (Virtual Private Cloud) verwalten. GKE-Knotenpool: Eine Gruppe von Worker-Knoten, auf denen die Container der Anwendung ausgeführt werden.
In der folgenden Tabelle werden die Knotenpoolkonfigurationen in dieser Vorlage beschrieben:
Konfiguration Zweck locationist aufus-central1gesetzt.Gibt die Region an, in der dieser Knotenpool erstellt wird. Ähnlich wie beim Speicherort des Clusters wird so dafür gesorgt, dass sich die Knotenpoolressourcen in einem einzigen geografischen Bereich befinden. autoscalingist auf{"max_node_count":3, "min_node_count":1}gesetzt.Konfiguriert den Cluster Autoscaler für diesen Knotenpool. Dadurch wird sichergestellt, dass der Knotenpool immer mindestens einen Knoten enthält, und die Obergrenze wird auf drei Knoten festgelegt, um Kosten und Ressourcenverbrauch zu kontrollieren. node_configist auf{"machine_type":"e2-medium", "oauth_scopes":["https://www.googleapis.com/auth/cloud-platform"], "shielded_instance_config":{"enable_secure_boot":true}}gesetzt.Gruppenkonfigurationen für die Knoten in diesem Pool. Der Maschinentyp bietet ein ausgewogenes Verhältnis von CPU und Arbeitsspeicher, das für Arbeitslasten für allgemeine Zwecke geeignet ist. Definiert den Zugriff, der dem Dienstkonto gewährt wird. Aktiviert Secure Boot für die Shielded VM-Instanzen und schützt so vor Malware auf Boot-Ebene.
Helm-Diagrammkonfiguration
In der folgenden Tabelle sind die Helm-Chart-Konfigurationen aufgeführt, die für die Bereitstellung und Skalierung einer einfachen Webanwendung in GKE angepasst wurden.
| Konfiguration | Zweck |
|---|---|
replicaCount: 2 |
Es werden zwei anfängliche Replikate erstellt, um ein anfängliches Maß an Redundanz zu erreichen. |
image.repository: gcr.io/google-samples/hello-app |
Verwendet ein einfaches Webserver-Docker-Image. |
resources.requests: {"cpu": "100m", "memory": "128Mi"} |
Gibt die Mindestmenge an CPU und Arbeitsspeicher an, die für jeden Pod reserviert sind, um verfügbare Ressourcen und eine effiziente Planung zu gewährleisten. |
hpa: {"enabled": true, "minReplicas": 2, "maxReplicas": 10, "targetCPUUtilizationPercentage": 60} |
Aktiviert den horizontalen Pod-Autoscaler, um die Anzahl der Pods basierend auf der CPU-Auslastung automatisch zwischen 2 und 10 anzupassen und so für Leistung und Kosteneffizienz zu sorgen. |
service: {"type": "ClusterIP", "port": 80} |
Konfiguriert den Dienst für den internen Zugriff innerhalb des Clusters über den Standard-HTTP-Port. |
pdb: {"enabled": true, "minAvailable": 1} |
Ermöglicht ein Budget für Pod-Störungen, um sicherzustellen, dass während freiwilliger Unterbrechungen mindestens ein Replikat verfügbar bleibt und eine Hochverfügbarkeit aufrechterhalten wird. |
Webanwendung erstellen
Verwenden Sie die Vorlagen Single region GKE cluster and workload (GKE-Cluster und Arbeitslast in einer einzelnen Region), um Ihre Webanwendung bereitzustellen.
Webinfrastruktur bereitstellen
Konfigurieren und stellen Sie die Vorlage GKE-Cluster in einer einzelnen Region bereit, um die grundlegende Infrastruktur zu erstellen, auf der Ihre Web-Arbeitslast ausgeführt wird.
Duplizieren und stellen Sie die Vorlage GKE-Cluster für eine einzelne Region als Anwendung bereit.
Im ausgewählten Deployment-Projekt wird ein GKE-Cluster erstellt.
Konfigurieren Sie die Komponenten. Hier finden Sie weitere Informationen:
Klicken Sie auf Bereitstellen. Die Anwendung wird nach einigen Minuten bereitgestellt.
Klicken Sie im Bereich Anwendungsdetails auf den Tab Ausgaben.
Ermitteln Sie die cluster_id für Ihre Anwendung. Sie verwenden diese Informationen, wenn Sie Ihr Helm-Diagramm bereitstellen.
Webarbeitslast bereitstellen
Verwenden Sie die Vorlage GKE-Arbeitslast in einer einzelnen Region, um Ihre Webarbeitslast in dem von Ihnen erstellten Cluster bereitzustellen. Sie stellen ein Helm-Chart bereit, das die Konfiguration Ihrer Web-Arbeitslast enthält.
Klicken Sie auf der Seite Google-Katalog in der Vorlage GKE-Arbeitslast in einer einzelnen Region auf Neue Anwendung erstellen.
Geben Sie im Feld Name einen eindeutigen Namen für Ihre Anwendung ein.
Führen Sie im Bereich GKE-Bereitstellungsziel die folgenden Schritte aus:
Wählen Sie in der Projektliste das Projekt aus, in dem Sie den GKE-Cluster über die Anwendung GKE-Cluster mit einer einzelnen Region bereitgestellt haben.
Wählen Sie in der Liste Region die Region aus, in der Sie den GKE-Cluster bereitgestellt haben.
Wählen Sie in der Liste Cluster den bereitgestellten GKE-Cluster aus.
Geben Sie in der Liste Namespace den Namespace ein, in dem Sie Ihren GKE-Cluster bereitgestellt haben. Wenn Sie den Namen nicht geändert haben, geben Sie
defaultein.Klicken Sie auf Anwendung erstellen.
Die Anwendung wird erstellt und die Konfigurationsdateien werden angezeigt.
Führen Sie im Bereich Helm-Diagramm folgende Schritte aus:
Konfigurationsdetails prüfen
Optional: Passen Sie die Konfiguration an Ihre individuellen Anforderungen an.
Klicken Sie auf Bereitstellen, um das Helm-Diagramm in Ihrem Cluster bereitzustellen.
Eine detaillierte Anleitung finden Sie unter Anwendungen bereitstellen.
Nach einigen Minuten wird die Helm-Chart-Konfiguration in Ihrem GKE-Cluster bereitgestellt.
Nächste Schritte
- Sie können diese Vorlage duplizieren und anpassen, indem Sie Google-Vorlagen verwenden.
- Sie können eigene Konfigurationen definieren, indem Sie Anwendungsvorlagen erstellen.
- Allgemeine Best Practices für die Architektur mit dem Google Cloud Architecture Framework identifizieren