Stel een GitLab GitOps-werkstroom voor Kubernetes in

Maak een Kubernetes-cluster op node c2d-ks1 en beheer het met behulp van de GitLab-agent.

Deze handleiding laat zien hoe we een MicroK8s Kubernetes-cluster draaiend op c2d-ks kunnen beheren met behulp van een GitLab Agent die in het cluster draait. Deze GitLab Agent-configuratie en Kubernetes-manifestbestanden staan in een apart project c2platform/examples/kubernetes/gitlab-gitops. Dit is gescheiden van het Ansible-project c2platform/ansible dat wordt gebruikt om het cluster aanvankelijk te creëren met behulp van Ansible.

Overzicht

Dit voorbeeldproject gebruikt een GitOps-werkstroom om OpenShift-resources in twee namespaces nja en njp te beheren. De eerste namespace is voor de “acceptatie”-omgeving, de tweede voor “productie”. Zie manifests/staging.yml en manifests/production.yml. Het onderstaande diagram toont alleen njp. De configuratie voor nja en njp is identiek, met uitzondering van het feit dat njp is geconfigureerd om alleen afbeeldingen met het label production te trekken. Dit project gebruikt het Docker-image van project c2platform/examples/kubernetes/gitlab-docker-build.

Vereisten

GitLab Agent

Om een GitLab Agent te registreren moet je een “toegangstoken” voor Ansible configureren. In dit “ontwikkelings” project worden dit soort lokale geheimen opgeslagen met var c2_gitlab_agent_access_token in het bestand group_vars/all/local_stuff.yml. Zie Lokale Zaken.

Creëer een toegangstoken zie Installeer GitLab Agent voor meer informatie. Deze handleiding beschrijft de handmatige installatie van een GitLab Agent.

Bijvoorbeeld, in project c2platform/examples/kubernetes/gitlab-gitops navigeer naar InfrastructuurKubernetes clusters, klik op c2d-mk8s en selecteer vervolgens het tabblad Toegangstokens  en klik op Token creëren.

Maak (of update) het bestand group_vars/all/local_stuff.yml en voeg toe

c2_gitlab_agent_access_token: <access-token-van-gitlab-project>

Maak c2d-ks1

Voer de volgende stappen uit om de Kubernetes-node c2d-ks1 te maken:

  1. Stel Kubernetes in
  2. Stel het Kubernetes Dashboard in

GitLab Agent

Zie Installeer GitLab Agent

Verifieer

Als de GitLab Agent voor het gitlab-gitops  project succesvol is gemaakt, wordt een eenvoudige applicatie geïmplementeerd die toegankelijk zou moeten zijn via http://1.1.4.12:3000/  en http://1.1.4.13:3000/  . Zie c2platform/examples/kubernetes/gitlab-gitops voor meer informatie.

Met c2d-rproxy1 draaiend en geprovisioneerd zou je naar https://frontend-nja.k8s.c2platform.org/  en https://frontend-njp.k8s.c2platform.org/  kunnen gaan en het bericht zien

Hallo Wereld!

Als je de Kubernetes Dashboard add-on hebt ingeschakeld, zou je naar Kubernetes Dashboard  moeten kunnen navigeren en bijvoorbeeld de service frontend-service in de namespace nja met externe endpoint http://1.1.4.12:3000/  moeten zien.

Met je browser kun je navigeren naar http://1.1.4.12:3000/  en de tekst zien. Of gebruik curl

vagrant@c2d-ks1:~$ curl http://1.1.4.12:3000/
Hallo Wereld! Versie: 0.1.5vagrant@c2d-ks1:~$