Kubernetes, een veelomarmd open-source platform, staat bekend om zijn vaardige beheer van containerized workloads en services. De populariteit bij ontwikkelaars is te danken aan de gebruiksvriendelijke configuratie en krachtige automatiseringsfuncties. Gezien deze brede acceptatie heeft WSO2 naadloos Kubernetes-ondersteuning geĂŻntegreerd in zijn productaanbod. Dit blogbericht heeft als doel een eenvoudig te volgen, gedetailleerde gids te bieden over het implementeren van WSO2 API Manager 4.2 op Kubernetes, met de doordachte middelen die door WSO2 worden geleverd.
Configureer de Kubernetes-omgeving
Voordat je begint met het implementeren van WSO2 API Manager 4.2 op Kubernetes, zorg ervoor dat Helm, de Kubernetes package manager, op je machine is geïnstalleerd en ingesteld. Dit is een cruciale stap, omdat Helm een centrale rol speelt in het beheer van het implementatieproces. Zorg ervoor dat Helm klaar is, zodat de overgang door de implementatiefases soepel verloopt en je een probleemloze en efficiënte ervaring hebt. Als Helm nog niet is geïnstalleerd, volg dan de instructies die hier worden gegeven.
WSO2 API Manager vereist minimaal 2 CPU’s. Het is daarom cruciaal om te controleren of je nodes voldoende CPU-bronnen hebben, omdat een tekort ervoor kan zorgen dat APIM-pods niet op nodes kunnen worden ingepland. Voor deze gids zal de installatie worden gedemonstreerd op een lokaal opgezet Minikube-cluster.
- Begin met het klonen van de WSO2 APIM Helm-bronnen uit de Git-repository en het uitchecken van de Git-tag: v4.0.0.1.
git clone https://github.com/wso2/kubernetes-apim
cd kubernetes-apim
git checkout v4.0.0.1
- Je moet ervoor zorgen dat je cluster de Ingress-addon heeft, anders wordt er geen IP-adres toegewezen aan de Ingress zoals weergegeven in de onderstaande schermafbeelding.
AZoals eerder vermeld gebruik ik een Minikube-cluster, en ik heb de Ingress-addon toegevoegd met de volgende opdracht:
minikube addons enable ingress
De uitvoer van de bovenstaande opdracht zou er als volgt uit moeten zien.
- Er zijn meerdere implementatiepatronen beschikbaar in de gegeven git-repository. Ik zal voor deze blog de am-pattern-1 gebruiken. Het volgende diagram verklaart een high-level architectuur van de WSO2 APIM-setup in het cluster.
- De Kubernetes-resources zijn te vinden op het volgende pad:
<git root folder>/advanced/{patter-name}/templates
- Vervolgens moeten noodzakelijke updates aan de Kubernetes-resources worden aangebracht op basis van je Kubernetes-versie. Bijvoorbeeld, we hebben het Ingress-definitiebestand bijgewerkt door:
- Ingress versie – cwijzig de apiVersion van extensions/v1beta1 naar apiVersion: networking.k8s.io/v1
- PathType – voeg pathType: Prefix toe
- Service – wijzig de structuur voor het definiĂ«ren van de servicenaam en poortparameters.
De volgende schermafbeelding bevat de git diff van een Ingress-bestand met de hierboven genoemde wijzigingen.
- Navigeer vervolgens naar het pad <git root folder>/advanced/{pattern-name} en voer de volgende opdracht uit om de WSO2 APIM-setup in je Kubernetes-cluster te installeren:
helm install <release-name>.
- Na een succesvolle installatie zou je alle implementaties en pods met betrekking tot deze release succesvol moeten zien draaien, zoals weergegeven in de schermafbeelding.
Het aantal pods en de implementatietelling kunnen verschillen op basis van het implementatiepatroon dat je kiest.
- Controleer of de services en Ingressen met betrekking tot de release operationeel zijn, met toegewezen cluster-IP-adressen, aangezien dit cluster aan de buitenwereld is blootgesteld via de Ingress-resources.
- Als laatste stap moet je de volgende regel aan je /etc/hosts-bestand toevoegen om toegang te krijgen tot het cluster met het DNS am.wso2.com:
192.168.64.11 am.wso2.com
Na het voltooien van deze stappen zou je toegang moeten hebben tot de WSO2 API Carbon Console, de publisher en het developer portal via het geconfigureerde DNS, zoals afgebeeld in de schermafbeeldingen.
Conclusie
In dit blogbericht hebben we het proces van het implementeren van WSO2 API Manager 4.2 op het dynamische Kubernetes-platform verkend. Kubernetes, beroemd om zijn draagbaarheid, uitbreidbaarheid en open-source aard, is de favoriete keuze geworden voor het beheren van containerized workloads en services. Terwijl ontwikkelaars Kubernetes omarmen voor zijn declaratieve configuratie en automatiseringsmogelijkheden, heeft WSO2 deskundig ondersteuning voor dit platform geĂŻntegreerd in hun producten.