2 Pluspunkte 0 Minuspunkte
Wie kann ich einen einfachen Test Kubernetes Cluster auf 3 virtuellen Maschinen mit Ubuntu18.04 erstellen?
von  

1 Antwort

2 Pluspunkte 0 Minuspunkte

Vorbereitungen auf allen 3 VMs:

Bringe das System auf den aktuellsten Stand und installiere die Pakete apt-transport-https und curl.

apt update
apt install apt-transport-https curl

Lade den Public-Key des Kubernetes Repository herunter, füge ihn zur Schlüsselverwaltung des System und das Repository zur Repositiry-Liste hinzu.

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

Installiere die erforderlichen Pakete aus dem Kubernetes Repository.

apt install -y kubelet kubeadm kubectl docker.io

Deaktiviere das SWAP.

swapoff -a

Initialisierung des Cluster auf dem Master-Node

Auf dem Server, der das Control-Plane werden soll führst du die Initialisierung des Cluster aus.

sudo kubeadm init --apiserver-advertise-address [master-node-ip] --pod-network-cidr=[internal pod network cidr]

Am Ende der Ausgabe des letzte Befehls werden weitere Schritte zum Anlegen der Konfiguration und die API Token zum Hinzufügen weiterer Worker-Nodes ausgegeben. Zum Schluss wird eine Konfiguration für kubectl auf dem Master-Node erstellt.

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Damit die Pods miteinander kommunizieren können benötigt man eine Netzwerk-API wie z.B Calico.

kubectl apply -f https://docs.projectcalico.org/v3.19/manifests/calico.yaml

Auf den Worker-Nodes

Zum Hinzufügen der anderen 2 VMsvon Worker-Nodes wird auf dem jeweiligen System der Befehl

kubeadm join [control-plane-host]:[control-plane-port] --token [token] --discovery-token-ca-cert-hash sha256:[hash]

verwendet.

von (784 Punkte)