Azure Arc Data Services im eigenen Rechenzentrum

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Man startet mit einem leeren Kubernetes Cluster, in meinem Fall mit einer leeren virtuellen Maschine (8vCPU/32GB) mit Ubuntu 20.04, keine besonderen Features und/oder Zusätze installiert. Ich versuche in diesem Blogpost einen Weg aufzuzeigen, wie man selber entweder mit einem „vollständigen“ Kubernetes Cluster oder eben einer DEV-Umgebung entsprechende Tests machen kann, um ein Gefühl für diesen großartigen Service zu bekommen.

Ich verwende für die Installation des K8s-Clusters kubeadm, hierfür bzw für den Betrieb von Kubernetes müssen bestimmte Voraussetzungen geschaffen werden. Zum Beispiel muss SWAP deaktiviert werden, damit kubelet einwandfrei läuft. Quelle

Swap ist ein Speicherplatz auf einer Festplatte, der verwendet wird, wenn der physische RAM-Speicher voll ist. Wenn einem Linux-System der Arbeitsspeicher ausgeht, werden inaktive Seiten aus dem Arbeitsspeicher in den Auslagerungsbereich verschoben.

Der Auslagerungsbereich kann entweder die Form einer dedizierten Auslagerungspartition oder einer Auslagerungsdatei annehmen. Wenn Ubuntu auf einer virtuellen Maschine ausgeführt wird, ist im Allgemeinen keine Auslagerungspartition vorhanden, und die einzige Möglichkeit besteht darin, eine Auslagerungsdatei zu erstellen.

https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/

Nachdem die Vorbereitungen abgeschlossen sind, konnte es weitergehen mit der Installation der benötigten Container-Runtime, hier besteht die Wahl aus der docker-Runtime oder der Containerd-Runtime. Ich habe mich für containerd entschieden, da zum Beispiel die aktuellen Kubernetes Cluster ab Version 1.20 nicht mehr mit der docker-Runtime sondern der containerd-Runtime ausgeliefert werden.

sudo apt-get update -y
sudo apt-get install -y containerd

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
kubeadm init --pod-network-cidr=10.244.0.0/16
[init] Using Kubernetes version: v1.21.3
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
[certs] apiserver serving cert is signed for DNS names [kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local kubmaster] and IPs [10.96.0.1 10.3.0.4]
[certs] Generating "apiserver-kubelet-client" certificate and key
[certs] Generating "front-proxy-ca" certificate and key
[certs] Generating "front-proxy-client" certificate and key
[certs] Generating "etcd/ca" certificate and key
[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [kubmaster localhost] and IPs [10.3.0.4 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [kubmaster localhost] and IPs [10.3.0.4 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.