Kubernetes, eine weit verbreitete Open-Source-Plattform, wird für die geschickte Handhabung von containerisierten Workloads und Services gefeiert. Seine Beliebtheit bei Entwicklern ist auf die benutzerfreundliche Konfiguration und leistungsstarke Automatisierungsfunktionen zurückzuführen. Angesichts dieser breiten Akzeptanz hat WSO2 die Unterstützung für Kubernetes nahtlos in seine Produktpalette integriert. Dieser Blogbeitrag zielt darauf ab, eine leicht verständliche, detaillierte Anleitung zu bieten, die den Prozess der Bereitstellung von WSO2 API Manager 4.2 auf Kubernetes mit den durchdachten Ressourcen von WSO2 aufschlüsselt.
Kubernetes-Umgebung konfigurieren
Bevor du mit der Bereitstellung von WSO2 API Manager 4.2 auf Kubernetes beginnst, stelle sicher, dass Helm, der Kubernetes-Paketmanager, auf deinem Rechner installiert und eingerichtet ist. Dies ist ein entscheidender Schritt, da Helm eine zentrale Rolle im Verwaltungsprozess der Bereitstellung spielt. Die Bereitschaft von Helm sicherzustellen, sorgt für einen reibungslosen Übergang durch die Bereitstellungsphasen und bereitet die Grundlage für eine unkomplizierte und effiziente Erfahrung. Falls Helm noch nicht installiert ist, folge den hier bereitgestellten Anweisungen.
WSO2 API Manager benötigt mindestens 2 CPUs. Daher ist es wichtig, zu überprüfen, ob deine Nodes über ausreichende CPU-Ressourcen verfügen, da unzureichende Ressourcen dazu führen können, dass APIM-Pods nicht auf Nodes geplant werden können. Für diesen Leitfaden wird die Installation auf einem lokal eingerichteten Minikube-Cluster demonstriert.
- Beginne damit, die WSO2 APIM Helm-Ressourcen aus dem Git-Repository zu klonen und das Git-Tag: v4.0.0.1 auszuchecken.
git clone https://github.com/wso2/kubernetes-apim
cd kubernetes-apim
git checkout v4.0.0.1
- Du musst sicherstellen, dass dein Cluster das Ingress-Addon hat, da sonst die IP-Adresse nicht dem Ingress zugewiesen wird, wie in der untenstehenden Screenshot gezeigt.
Wie bereits erwähnt, benutze ich ein Minikube-Cluster und habe das Ingress-Addon mit folgendem Befehl hinzugefügt.
minikube addons enable ingress
Die Ausgabe des obigen Befehls sollte wie auf dem folgenden Screenshot zu sehen sein.
- Im gegebenen Git-Repository sind mehrere Bereitstellungsmuster verfügbar. Für diesen Blog werde ich das am-pattern-1 verwenden. Das folgende Diagramm erklärt eine High-Level-Architektur der WSO2 APIM-Setup im Cluster.
- Die Kubernetes-Ressourcen findest du im folgenden Pfad:
<git root folder>/advanced/{patter-name}/templates
- Dann müssen notwendige Updates an den Kubernetes-Ressourcen basierend auf deiner Kubernetes-Version vorgenommen werden. Zum Beispiel haben wir die Ingress-Definitionsdatei aktualisiert, indem wir:
- Ingress-version – die apiVersion von extensions/v1beta1 auf apiVersion: networking.k8s.io/v1 geändert haben
- PathType – Prefix hinzugefügt haben
- Service – die Struktur zum Definieren von Servicenamen und Portparametern geändert haben.
Der folgende Screenshot zeigt den git diff einer Ingress-Datei mit den oben genannten Änderungen.
- Navigiere dann zum Pfad <git root folder>/advanced/{pattern-name} und führe den folgenden Befehl aus, um die WSO2 APIM-Setup in deinem Kubernetes-Cluster zu installieren.
helm install <release-name>.
- Nach einer erfolgreichen Installation solltest du alle Bereitstellungen und Pods, die mit dieser Release verbunden sind, erfolgreich laufen sehen, wie im Screenshot gezeigt.
Die Anzahl der Pods und der Bereitstellungszähler können je nach gewähltem Bereitstellungsmuster unterschiedlich sein.
- Überprüfe, ob die mit der Release verbundenen Services und Ingresses betriebsbereit sind und Cluster-IP-Adressen zugewiesen wurden, da dieses Cluster mit Hilfe der Ingress-Ressourcen der Außenwelt zugänglich gemacht wird.
- Als letzter Schritt musst du die folgende Zeile zu deiner Datei /etc/hosts hinzufügen, um auf das Cluster mit dem DNS am.wso2.com zuzugreifen:
192.168.64.11 am.wso2.com
Nach Abschluss dieser Schritte solltest du in der Lage sein, auf die WSO2 API Carbon Console, den Publisher und das Developer Portal über das konfigurierte DNS zuzugreifen, wie in den Screenshots dargestellt.
Fazit
Zum Abschluss haben wir den Prozess der Bereitstellung von WSO2 API Manager 4.2 auf der dynamischen Kubernetes-Plattform untersucht. Kubernetes, bekannt für seine Portabilität, Erweiterbarkeit und Open-Source-Natur, ist zur bevorzugten Wahl für das Management von containerisierten Workloads und Services geworden. Während Entwickler Kubernetes für seine deklarative Konfiguration und Automatisierungsfähigkeiten nutzen, hat WSO2 geschickt die Unterstützung für diese Plattform in seine Produkte integriert.