K8s Applications mit MicroK8S auf Raspberry PI. Alfred Sabitzer
Чтение книги онлайн.

Читать онлайн книгу K8s Applications mit MicroK8S auf Raspberry PI - Alfred Sabitzer страница 17

Название: K8s Applications mit MicroK8S auf Raspberry PI

Автор: Alfred Sabitzer

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9783742770134

isbn:

СКАЧАТЬ den Ordner ${HOME}/.kube.

      alfred@bureau:~/.kube$ ls -lisa

      insgesamt 480

      1706699 4 drwxr-x--- 2 alfred alfred 4096 Nov 26 11:52 .

      1311228 472 drwx-----T 52 alfred alfred 479232 Nov 26 11:52 ..

      1705911 4 -rw-rw-r-- 1 alfred alfred 1874 Nov 26 11:51 config

      alfred@bureau:~/.kube$

      alfred@bureau:~/.kube$ kubectl config get-clusters

      NAME

      microk8s-cluster

      alfred@bureau:~/.kube$

      alfred@bureau:~/.kube$ kubectl cluster-info

      Kubernetes control plane is running at https://192.168.0.201:16443

      CoreDNS is running at https://192.168.0.201:16443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

      To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

      alfred@bureau:~/.kube$

      Nun funktioniert die Kommand-Line-Version. Wir installieren noch die bash-completion (das spart viel Tipparbeit).

      alfred@bureau:~$ sudo apt-get install bash-completion

      Paketlisten werden gelesen… Fertig

      Abhängigkeitsbaum wird aufgebaut… Fertig

      Statusinformationen werden eingelesen… Fertig

      bash-completion ist schon die neueste Version (1:2.11-2ubuntu1).

      bash-completion wurde als manuell installiert festgelegt.

      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

      alfred@bureau:~$

      alfred@bureau:~$ echo 'source <(kubectl completion bash)' >>~/.bashrc

      alfred@bureau:~$ sudo su -l

      root@bureau:~# kubectl completion bash >/etc/bash_completion.d/kubectl

      root@bureau:~# exit

      Abgemeldet

      alfred@bureau:~$ echo 'alias k=kubectl' >>~/.bashrc

      echo 'complete -F __start_kubectl k' >>~/.bashrc

      alfred@bureau:~$

      Nun loggen wir uns neu ein. Somit funktioniert der Alias und der Zugriff auf den Cluster von außen.

      alfred@bureau:~$ k get all

      NAME READY STATUS RESTARTS AGE

      pod/webserver-depl-bff4d4675-8v9nz 1/1 Running 2 (179m ago) 18h

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

      service/kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 3d3h

      service/webserver-svc ClusterIP 10.152.183.121 <none> 443/TCP,80/TCP 38h

      NAME READY UP-TO-DATE AVAILABLE AGE

      deployment.apps/webserver-depl 1/1 1 1 38h

      NAME DESIRED CURRENT READY AGE

      replicaset.apps/webserver-depl-cf898f654 0 0 0 38h

      replicaset.apps/webserver-depl-98f95758b 0 0 0 38h

      replicaset.apps/webserver-depl-646544ddfd 0 0 0 37h

      replicaset.apps/webserver-depl-dd8c746d6 0 0 0 37h

      replicaset.apps/webserver-depl-86c6d7549f 0 0 0 37h

      replicaset.apps/webserver-depl-b485f9695 0 0 0 19h

      replicaset.apps/webserver-depl-c8599c9f5 0 0 0 19h

      replicaset.apps/webserver-depl-bff4d4675 1 1 1 18h

      alfred@bureau:~$

      Jetzt können wir den Cluster in der Lens einrichten.

      OEBPS/images/image0018.jpg Abbildung 16: Lens - Cluster hinzufügen

      Es wird die config aus ${HOME}/.kube/config verwendet.

      OEBPS/images/image0019.jpg Abbildung 17: Lens - Cluster Ansicht

      Nun ist Lens mit dem Cluster verbunden. Somit kann komfortabel vom eigenen Rechner aus gearbeitet werden.

      Alternativ ist natürlich auch das Kubernet Dashboard als Webapplikation vorhanden.

      OEBPS/images/image0020.jpg Abbildung 18: Kubernetes Dashboard

      Somit kann der Cluster bequem verwaltet und diagnostiziert werden.

      Wie sicher das exponieren der API nach aussen ist, weiß ich noch nicht. Im Internet sollten der Cluster durch die Firewall geschützt sein (nur die Ingress-Ports sichtbar).

      Generell sollte bei Einsatz im Internet der Firewall große Beachtung zuteil werden. Lokal zu Hause ist die Architektur etwas einfacher.

      OEBPS/images/image0021.jpg Abbildung 19: Netzwerk Architektur

      Hier ist nur der Ingress nach aussen sichtbar. Alles andere kann von aussen nicht erreicht werden. In Richtung Intranet ist alles erlaubt.

      Einfacher WebServer mit Go

      Inspiration:

       https://golang.org/doc/articles/wiki/

       https://www.socketloop.com/tutorials/golang-get-hardware-information-such-as-disk-memory-and-cpu-usage

       https://www.freecodecamp.org/news/how-to-remove-images-in-docker/

      https://docs.docker.com/engine/reference/commandline/image_pull/

      Dieses Kapitel beschreibt СКАЧАТЬ