Beschreibung
diese Kurzbeschreibung soll die Schritte darstellen, wie Sie ein Kubernetes (k8s) Cluster Lab für Testzwecke Aufbrauen Können.
Systemvorrausetzung – 3 VMs
- Debian 11 - minimal Installation
- 2 vCPU, 2GB RAM und 20GB vHDD
- Internet Zugriff und ein User mit Admin Rechten
Master > kadmin
Worker > wadmin
HINWEIS: Für den Test wurde eine VM mit Debian 11 in der minimal Installation bereitgestellt.
(Siehe Quelle des Tutorials).
------- Anpassung(en) Pro Maschine
Pro Maschine
hostnamectl set-hostname "master"
hostnamectl set-hostname "worka"
hostnamectl set-hostname "workb"
exec bash
(Bsp. rancher)
nano /etc/hosts
#127.0.1.1 vm09.netz vm09
127.0.1.1 master.netz master
#Master
192.168.1.39 master.netz master
# Worker
192.168.1.40 worka.netz worka
192.168.1.41 workb.netz workb
swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
Reboot
------- Kernel Anpassung
sudo modprobe br_netfilter
echo 'net.bridge.bridge-nf-call-ip6tables = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-iptables = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
------- Installation der Paketquellen
apt install gnupg gnupg2 lsb-release curl apt-transport-https ca-certificates software-properties-common -y
apt install docker.io -y
apt install containerd.io -y
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmour -o /etc/apt/trusted.gpg.d/cgoogle.gpg
apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
apt-get update
-------- Installation der Tools
apt install kubeadm kubelet kubectl kubernetes-cni -y
apt-mark hold kubelet kubeadm kubectl
---------------- Fehlende Gruppe beim Preflight
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
nano /etc/containerd/config.toml
‘[plugins.”io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options]’ and add SystemdCgroup = true
sudo systemctl restart containerd
sudo systemctl enable containerd
Reboot
-------- Cluster erstellen - MASTER
[OPTIONAL] sudo kubeadm reset
sudo kubeadm init
--------- Fehlerbeseitigung für 8080 was refused
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
-------- Join the Master - Pro Worker
kubeadm join 192.168.1.135:6443 --token <TOKaN>
--------- Node Kontrolle
Kontrolle: kubectl get nodes
Ausgabe:
NAME STATUS ROLES AGE VERSION
master NotReady control-plane 40m v1.25.3
workera NotReady <none> 13m v1.25.3
workerb NotReady <none> 13m v1.25.3
---------- Status von NotReady auf Ready setzen
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
NAME STATUS ROLES AGE VERSION
master Ready control-plane 64m v1.25.3
workera Ready <none> 37m v1.25.3
workerb Ready <none> 37m v1.25.3
---------- kubectl Commands
kubectl version
kubectl get nodes
kubectl get pod
kubectl get service
kubectl get namespace
kubectl cluster-info
kubectl get pods --all-namespaces
kubectl get pods --all-namespaces -o wide