Tableau Server-Helm-Diagramm – Übersicht
Wichtig: In dieser Dokumentation wird davon ausgegangen, dass Sie sich mit Helm und Helm-Diagrammen auskennen, und es wird nicht versucht, detaillierte, präskriptive Beispiele zu liefern. Die Dokumentation ist für Kunden gedacht, die sowohl mit Tableau Server als auch mit Helm und Helm-Diagrammen vertraut sind.
Einführung
Das Helm-Diagramm von Tableau Server ermöglicht es Ihnen, Tableau Server in Kubernetes-Clustern bereitzustellen und zu verwalten, indem Sie Helm, den Paketmanager für Kubernetes, verwenden. Dieses Helm-Diagramm enthält alle Kubernetes-Ressourcen, die zum Ausführen von Tableau Server in einer Container-Umgebung erforderlich sind, und bietet einen deklarativen und wiederholbaren Bereitstellungsprozess.
Was ist Helm?
Helm ist ein Paketmanager für Kubernetes, der die Bereitstellung und Verwaltung von Anwendungen vereinfacht. Helm verwendet Diagramme, bei denen es sich um Pakete vorkonfigurierter Kubernetes-Ressourcen handelt. In einem Helm-Diagramm für Tableau Server sind alle erforderlichen Komponenten zusammengefasst, inklusive:
- Bereitstellungen und StatefulSets
- Dienst- und Eingangskonfigurationen
- ConfigMaps und Geheimnisse
- PersistentVolumeClaims für die Datenspeicherung
- RBAC-Richtlinien und ServiceAccounts
Architektur
Komponenten
Das Tableau Server-Helm-Diagramm stellt die folgenden Hauptkomponenten bereit:
Tableau Server-Container
- Führt eine komplette Tableau Server-Instanz in einem Linux-Container aus
- Basiert auf dem UBI 8-Image mit
supervisord-Verwaltungsprozessen - Initialisiert und startet Tableau Server automatisch beim Start des Containers
Kubernetes-Ressourcen
- StatefulSet: Verwaltet Tableau Server-Pods mit stabilen Netzwerkidentitäten
- PersistentVolumeClaim: Stellt persistenten Speicher für Tableau-Daten unter
/var/opt/tableaubereit - Dienst: Macht Tableau Server innerhalb des Clusters verfügbar
- Eingang (optional): Bietet externen Zugriff auf Tableau Server
- ConfigMap: Speichert Konfigurationen, die nicht vertraulich sind
- Geheimnis: Speichert vertrauliche Daten (wie Lizenzen und Kennwörter)
Bereitstellungstopologie
Bereitstellung mit einem einzigen Knoten
- Ein Tableau Server-Pod mit allen Prozessen auf einem einzigen Knoten
- Ist für Entwicklungs-, Test- und kleine Produktions-Workloads geeignet
- Einfachste Konfiguration mit minimalem Ressourcenbedarf
Bereitstellung mit mehreren Knoten
- Mehrere Tableau Server-Pods, verteilt auf Knoten
- Freigegebener Netzwerkspeicher für Bootstrap-Koordination
- Höhere Verfügbarkeit und Skalierbarkeit für Produktions-Workloads
- Erfordert zusätzliche Konfiguration für Knotenkoordination
Sicherheitsaspekte
- Verwaltung von Geheimnissen: Verwenden Sie immer Kubernetes-Geheimnisse für vertrauliche Daten in Produktionsumgebungen.
- Netzwerkrichtlinien: Erwägen Sie die Implementierung von Netzwerkrichtlinien, um die Pod-Kommunikation einzuschränken.
- RBAC: Das Diagramm erstellt ein Dienstkonto. Konfigurieren Sie RBAC je nach Bedarf.
- Image-Sicherheit: Verwenden Sie vertrauenswürdige Container-Images, und scannen Sie auf Schwachstellen.
- TLS/SSL: Aktivieren Sie TLS für eingehenden Datenverkehr in Produktionsumgebungen.
Vorteile der Verwendung von Helm
Vereinfachte Bereitstellung
- Installieren Sie Tableau Server mit einem einzigen
helm install-Befehl. - Deklarative Konfiguration durch Wertedateien
- Versionsgesteuerte Infrastruktur als Code
Einfaches Aktualisieren und Zurücksetzen
- Aktualisieren Sie Tableau Server-Versionen mittels
helm upgrade. - Setzen Sie wieder auf vorherige Versionen zurück, wenn Probleme auftreten.
- Verfolgen Sie den Bereitstellungsverlauf.
Konsistente Umgebungen
- Dasselbe Diagramm wird zur Bereitstellung in Entwicklungs-, Staging- und Produktionsumgebung verwendet
- Umgebungsspezifische Anpassung durch Wertedateien
- Weniger abweichende Konfigurationen
Integrierte Best Practices
- Vorkonfigurierte Ressourcenanforderungen und -limits
- Integritätsprüfungen und Bereitschaftstests
- Sicherheitskontexte und RBAC-Richtlinien
Unterstützte Plattformen
Kubernetes-Distributionen
- Selbstverwaltete Kubernetes-Cluster (1.19+)
- Amazon EKS (Elastic Kubernetes Service)
- Azure AKS (Azure Kubernetes Service)
- Google GKE (Google Kubernetes Engine)
- Red Hat OpenShift
Produktionsanforderungen
- Kubernetes 1.19 oder höher
- Helm 3.x
- Provisioner für persistenten Speicher (für persistente Volumes (PersistentVolumes))
- LoadBalancer oder Ingress-Controller (für externen Zugriff)
- Mindestens 16 GB RAM und 4 CPU-Kerne pro Knoten (empfohlen werden 8 CPU-Kerne, siehe Hardware-Mindestanforderungen und -Mindestempfehlungen für Tableau Server)
Einschränkungen
Auch wenn das Helm-Diagramm viele Vorteile bietet, sollten Sie Folgendes beachten:
- Auf jedem Pod wird eine vollständige Tableau Server-Instanz ausgeführt, nicht einzelne Microservices.
- Der Neustart des Containers erfordert die Neuinitialisierung von Prozessen (aber nicht von Daten).
- HPA (Horizontal Pod Autoscaling) wird aufgrund der Architektur von Tableau Server nicht unterstützt.
- Für Bereitstellungen mit mehreren Knoten ist zur Koordination ein gemeinsam genutzter Netzwerkspeicher erforderlich.
- Für einige fortgeschrittene Tableau Server-Konfigurationen sind möglicherweise benutzerdefinierte Init-Skripts erforderlich.
Erste Schritte
Informationen zu den ersten Schritten mit dem Tableau Server-Helm-Diagramm finden Sie unter Tableau Server-Helm-Diagramm – Voraussetzungen.
Bereitstellungsbeispiele finden Sie unter Tableau Server-Helm-Diagramm – Bereitstellen.
Anleitungen zur Fehlerbehebung finden Sie unter Tableau Server-Helm-Diagramm – Fehlerbehebung.