This is an old revision of the document!
Table of Contents
Kubernetes
Installation von Kubernetes
Die Installation von Kubernetes habe ich unter Ubuntu 20.04 durchgeführt.
OS Update
Das System sollte am aktuellen Stand sein
apt update apt dist-upgrade -y
Docker Runtime installieren
Auf allen Nodes: apt install -y docker.io systemctl enable docker.service --now systemctl status docker docker --version
Swap deaktivieren
Das System darf kein Swap haben. Sonst lässt sich kein Cluster erstellen.
Am besten man installiert das System schon ohne Swap. Hat man dies nicht gemacht und es gibt Swap dann kann man dies deaktivieren
Auf allen Nodes: swapoff -a vim /etc/fstab Swap auskommentieren
Ich hatte bei Ubuntu 20.04 nach einem Reboot oftmal trotzdem Swap gemountet. Daher habe ich die Partiton einfach überschrieben
dd if=/dev/zero of=/dev/sdX3 bs=1048576 count=10 oflag=direct status=progress
IP Forwarding aktivieren
Damit Traffic durch die Container geroutet werden kann
Auf alle Nodes: vim /etc/sysctl.conf net.ipv4.ip_forward = 1
Diese Stelle gibt es normal schon und muss nur auskommentiert werden
sysctl -p
Installation von Kubernetes via Google Repo
Wir verwenden hier ein Repo für Xenial (Ubuntu 16.04) da es kein neueres Repo gibt aktuell
Auf allen Nodes: apt install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" apt update apt install -y kubelet kubeadm kubectl
Erstellen eines Clusters
Auf der Master Node: kubeadm init
Hier bekommt man auch gleich den Befehl in die Shell wie man Worker zum Cluster Joint.
Falls man diesen später nicht mehr weiß kann man sich dies Infos dazu holen.
Nodes zum Cluster hinzufügen
Beschrieben wie man zu dem Befehl kommt → todo!!!
Auf den Worker:
kubeadm join 192.168.88.121:6443 --token 78c4by.cs8u65dcvxxxxxxx \
--discovery-token-ca-cert-hash sha256:3818424273aac366a6faa5b4b417158227a497xxxxxxxxxxxxxxxxxx
Status auf dem Cluster Checken
kubectl get nodes
Cluster Netzwerk erstellen
Es gibt dafür einen ganzen Haufen Möglichkeiten
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Ich habe mich hier für Calico entschieden.
Auf dem Master kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
Nach 1-2 Minuten sollte der Status der Worker auf “Ready” gehen
Auf dem Master kubectl get nodes
Auch die Container sollten alle laufen
Auf dem Master kubectl get pods --all-namespaces
