- Die Nummer XYZ im Host wird automatisch durch die Deployment Pipeline vergeben und entspricht Ihrer User-ID, die Sie in GitLab haben. Navigieren Sie nun in einem Browser z.B. auf [https://prime-XYZ.loki.th-luebeck.dev/prime/12345](https://prime-XYZ.loki.th-luebeck.dev/prime/12345)
```text
12345 is not a prime number. It can be divided by 3 (answer from prime-deployment-b667868f6-b2krp; processed)
```
Laden Sie die Seite mehrmals erneut. Sie werden feststellen, dass die Antwort jedesmal von einem anderen Pod beantwortet wird. Die Requests werden Round-Robin über alle Prime-Pods verteilt.
Die Angabe `processed` sagt aus, dass der Pod die Antwort nicht im Cache gefunden hat, sondern selber errechnen musste.
- Öffnen Sie nun Lens 
Nehmen Sie Ihr Deployment nun gerne mittels dieser Oberfläche genauer unter die Lupe!
- Events anzeigen: `Events` (Hilfreich bei Fehlersuchen)
Gratulation! Sie haben Ihren ersten lastausgleichenden Dienst in Kubernetes deployt.
## Übung 02: Ergänzung eines In-Memory Caches
## Übung 03: Erweiterung zu einem persistentem Cache
## Übung 04: Skalierung und Chaos Engineering
- Klicken Sie auf `Workloads -> Deployments` und selektieren Sie `prime-deployment -> Edit` und ändern Sie das Feld `spec.replicas` erst von 5 auf 8 und dann von 8 auf 3 (jeweils mit `Save` speichern).
- Sie sehen dann, wie die Pods des Deployments automatisch gestartet bzw. terminiert werden. Auf diese Weise lassen sich also Dienste einfach horizontal skalieren.
- Skalieren Sie Ihre Prime-Pods bis auf 30 Replicas! (Es sollten 30 Pods erzeugt werden).
- Skalieren Sie Ihre Prime-Deployment bis auf 40 Replicas! (es sollten nur max. 32 Pods erzeugt worden sein, da dann Ihr CPU Quota von 8 CPUs pro Namespace aufgebraucht ist!)
- Skalieren Sie Ihre Prime-Deployment bitte wieder auf 5 Replicas (das reicht vollkommen aus!)
## Übung 05: Terminieren Sie das Deployment
1. Löschen Sie bitte Ihr Deployment in dem Sie in Ihrer `.gitlab-ci.yml` die Variable `TERMINATE` auf `"yes"` setzen.
2. Committen Sie bitte in den Master-Branch.
Prüfen Sie in Lens mittels
```bash
kubectl get all
kubectl get ing
```
das alle Ressourcen sauber gelöscht wurden.
## Übung 05: Deployment des Prime Service in GKE
## Übung 06: Deployment des Prime Service in GKE
In diesem Schritt passen wir das in den Übungen 1 bis 3 entwickelte Deployment so an, dass es in [GKE](https://cloud.google.com/kubernetes-engine)(Google Kubernetes Engine, also einem Public Cloud Service Provider) automatisiert ausgebracht werden kann. Dies soll Ihnen zeigen, dass Kubernetes grundsätzlich eine recht standardisierte Plattform ist, die sowohl Self-Hosted in einer Private Cloud als Plain-Vanilla Kubernetes oder als Managed-Service in einer Public Cloud nutzbar ist. Tatsächlich bieten mittlerweile fast alle großen Public Cloud Service Provider Kubernetes-basierte Dienste an. Kubernetes hat es so eine Art de-facto Standard etabliert und die ehemals sehr heterogene PaaS Landschaft bis zu einem gewissen Grad vereinheitlicht.