Kubernetes-Arbeitslasten für hohe Verfügbarkeit

Auf dieser Seite werden Strategien für Kubernetes-Containerarbeitslasten empfohlen, die Ihre Anwendung in einer GDC-Umgebung (Google Distributed Cloud) mit mehreren Zonen und Air Gap fehlertoleranter machen. GDC unterstützt Kubernetes-native Containeranwendungen, die in Google Kubernetes Engine (GKE) weit verbreitet sind und unterstützt werden.

Diese Seite richtet sich an Entwickler in der Gruppe der Anwendungsbetreiber, die für die Erstellung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie in der Dokumentation zu Zielgruppen für GDC-Air-Gap-Umgebungen.

Kubernetes-Überlegungen für HA-Apps

Hochverfügbarkeit in Kubernetes umfasst mehr als nur die Steuerungsebene. Sie müssen auch Containerarbeitslasten in Ihrer Google Distributed Cloud-Umgebung (GDC) mit Air Gap resilient entwerfen und bereitstellen. Kubernetes bietet mehrere leistungsstarke Mechanismen, um Ausfallzeiten zu minimieren und hochverfügbare Dienste bereitzustellen, selbst bei Infrastrukturproblemen oder während der routinemäßigen Wartung. Die folgenden Themen sind wichtige Strategien, die Sie für die Hochverfügbarkeit in Betracht ziehen sollten:

  • Verfügbarkeit mit Replikaten und Autoscaling aufrechterhalten: Sie benötigen genügend laufende Instanzen Ihrer Anwendung, um Hochverfügbarkeit zu gewährleisten.

    • ReplicaSet: Eine ReplicaSet-Ressource sorgt dafür, dass zu jedem Zeitpunkt eine stabile Anzahl identischer Pod-Replikate ausgeführt wird. Wenn ein Pod ausfällt oder beendet wird, erstellt der ReplicaSet-Controller automatisch einen neuen Pod, um ihn zu ersetzen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter ReplicaSet.

    • Horizontales Pod-Autoscaling (HPA): Während bei einem ReplicaSet eine feste Anzahl von Replikaten beibehalten wird, passt das HPA diese Anzahl automatisch basierend auf beobachteten Messwerten wie CPU- oder Arbeitsspeicherauslastung an. So kann Ihre Anwendung Lastspitzen bewältigen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Horizontales Pod-Autoscaling.

  • Ausfallzeiten mit PodDisruptionBudget (PDB) minimieren: Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Unterbrechungsbudget für Ihre Anwendung festlegen.

  • Risiko mit Anti-Affinitätsregeln streuen: Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Affinität und Anti-Affinität.

  • Systemdiagnosen mit Aktivitäts-, Bereitschafts- und Startprüfungen: Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Aktivitäts-, Bereitschafts- und Startprüfungen konfigurieren.

  • Stabile Endpunkte und Load-Balancing mit Diensten: Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Dienste.

  • Ordnungsgemäße Updates und Rollbacks mit Bereitstellungen: Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Rollback einer Bereitstellung.

  • Anfragen und Limits für Ressourcen festlegen: Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Ressourcenverwaltung für Pods und Container.

Nächste Schritte