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

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

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

Автор: Alfred Sabitzer

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

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

Серия:

isbn: 9783742770134

isbn:

СКАЧАТЬ 4 22:53:01 2021

       OS/Arch: linux/arm64

       Context: default

       Experimental: true

      Server:

       Engine:

       Version: 20.10.7

       API version: 1.41 (minimum version 1.12)

       Go version: go1.13.8

       Git commit: 20.10.7-0ubuntu1~20.04.1

       Built: Wed Aug 4 19:07:47 2021

       OS/Arch: linux/arm64

       Experimental: false

       containerd:

       Version: 1.5.2-0ubuntu1~20.04.2

       GitCommit:

       runc:

      https://github.com/docker-library/hello-world Version: 1.0.0~rc95-0ubuntu1~20.04.2

       GitCommit:

       docker-init:

       Version: 0.19.0

       GitCommit:

      alfred@monitoring:~$

      Es gibt sehr viele Anleitungen, wie man Docker installiert. Ich habe dazu folgendes Skript.

      #!/bin/bash

      ############################################################################################

      # $Date: 2021-11-22 18:47:00 +0100 (Mo, 22. Nov 2021) $

      # $Revision: 1252 $

      # $Author: alfred $

      # $HeadURL: https://monitoring.slainte.at/svn/slainte/trunk/k8s/k8s_app/portainer/portainer.sh $

      # $Id: portainer.sh 1252 2021-11-22 17:47:00Z alfred $

      #

      # https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-de

      #

      # Installieren Docker und Portainer

      #

      ############################################################################################

      #shopt -o -s errexit #—Terminates the shell script if a command returns an error code.

      shopt -o -s xtrace #—Displays each command before it’s executed.

      shopt -o -s nounset #-No Variables without definition

      #

      sudo apt update

      sudo apt install apt-transport-https ca-certificates curl software-properties-common

      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

      sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

      sudo apt update

      apt-cache policy docker-ce

      sudo apt install docker-ce

      sudo usermod -aG docker ${USER}

      #

      docker volume create portainer_data

      docker run -d -p 8000:8000 -p 9443:9443 --name portainer \

       --restart=always \

       -v /var/run/docker.sock:/var/run/docker.sock \

       -v /portainer_data:/data \

       portainer/portainer-ce:latest

      docker ps

      docker run -d -p 9001:9001 --name portainer_agent \

       --restart=always \

       -v /var/run/docker.sock:/var/run/docker.sock \

       -v /var/lib/docker/volumes:/var/lib/docker/volumes \

       portainer/agent:latest

      Damit gibt es dann auch den Portainer, der recht praktisch ist, um die lokale Dockerinstallation zu steuern.

      OEBPS/images/image0011.jpg Abbildung 9: Portainer

      Wir müssen das Repository das sich am Kubernetes Cluster befindet in die Konfiguration am Entwicklungsrechner eintragen.

      alfred@monitoring:~/go$ cat /etc/hosts

      127.0.0.1 localhost

      127.0.0.1 monitoring

      127.0.0.1 monitoring.slainte.at

      192.168.0.213 docker.registry

      192.168.0.201 pc1

      192.168.0.202 pc2

      192.168.0.203 pc3

      192.168.0.204 pc4

      192.168.0.205 pc5

      alfred@monitoring:~/go$ sudo cat /etc/docker/daemon.json

      {

       "insecure-registries" : ["docker.registry:5000"]

      }

      Die Registry ist als Loadbalancer-Service ausfallsicher. Die Storage ist in einem persistant volume, somit funktioniert das auch von überall im Cluster.

      Nun können wir versuchen ein hello world zu erzeugen.

      package main

      import "fmt"

      func main() {

       fmt.Println("hello world")

      }

      Dieser Programmteil ist in GO geschrieben. Go wird wie folgt installiert.

      alfred@monitoring:~$ sudo apt install golang

      alfred@monitoring:~$ go version

      go version go1.13.8 linux/arm64

      alfred@monitoring:~$ СКАЧАТЬ