it-wiki:kubernetes:installation
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-wiki:kubernetes:installation [2025/02/21 04:58] – [Bash Anpassungen] marko | it-wiki:kubernetes:installation [2025/11/09 07:41] (aktuell) – [Installation Krew PlugIn Manager] marko | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Kubernetes Installation ====== | ====== Kubernetes Installation ====== | ||
| ===== Manuelle Installation der Kubernetes-Binaries ===== | ===== Manuelle Installation der Kubernetes-Binaries ===== | ||
| - | **Kernel-Module in die ''/ | + | **Kernel-Module in die ''/ |
| <code bash> | <code bash> | ||
| br_netfilter | br_netfilter | ||
| Zeile 13: | Zeile 13: | ||
| </ | </ | ||
| - | **System-Konfiguration anpassen (''/ | + | **System-Konfiguration anpassen (''/ |
| <code bash> | <code bash> | ||
| net.ipv4.ip_forward=1 | net.ipv4.ip_forward=1 | ||
| Zeile 22: | Zeile 22: | ||
| **System-Konfiguration laden: ** | **System-Konfiguration laden: ** | ||
| <code bash> | <code bash> | ||
| - | sysctl -p / | + | sysctl -p /etc/sysctl.d/ |
| </ | </ | ||
| Zeile 33: | Zeile 33: | ||
| **Docker-Repository hinzufügen (''/ | **Docker-Repository hinzufügen (''/ | ||
| <code bash> | <code bash> | ||
| - | deb https:// | + | deb https:// |
| </ | </ | ||
| Zeile 53: | Zeile 53: | ||
| '' | '' | ||
| <code bash> | <code bash> | ||
| - | sandbox_image = " | + | sandbox_image = " |
| [plugins." | [plugins." | ||
| Zeile 93: | Zeile 93: | ||
| **Kubernetes-Binaries installieren: | **Kubernetes-Binaries installieren: | ||
| <code bash> | <code bash> | ||
| - | apt install kubeadm=1.31.1-00 kubectl=1.31.1-00 kubelet=1.31.1-00 | + | apt install kubeadm=1.31.7-00 kubectl=1.31.7-00 kubelet=1.31.7-00 |
| </ | </ | ||
| Zeile 153: | Zeile 153: | ||
| - name: vip_retryperiod | - name: vip_retryperiod | ||
| value: " | value: " | ||
| - | image: ghcr.io/ | + | image: ghcr.io/ |
| imagePullPolicy: | imagePullPolicy: | ||
| name: kube-vip | name: kube-vip | ||
| Zeile 182: | Zeile 182: | ||
| Für die Initialisierung des Clusters wird auf dem ersten Knoten ('' | Für die Initialisierung des Clusters wird auf dem ersten Knoten ('' | ||
| <code yaml> | <code yaml> | ||
| - | apiVersion: kubeadm.k8s.io/ | + | apiVersion: kubeadm.k8s.io/ |
| kind: ClusterConfiguration | kind: ClusterConfiguration | ||
| - | kubernetesVersion: | + | kubernetesVersion: |
| controlPlaneEndpoint: | controlPlaneEndpoint: | ||
| networking: | networking: | ||
| Zeile 194: | Zeile 194: | ||
| cgroupDriver: | cgroupDriver: | ||
| serverTLSBootstrap: | serverTLSBootstrap: | ||
| + | resolvConf: / | ||
| </ | </ | ||
| Zeile 213: | Zeile 214: | ||
| kubeadm join kubeapi.tuxnet.lab: | kubeadm join kubeapi.tuxnet.lab: | ||
| </ | </ | ||
| + | |||
| + | <note important> | ||
| Der Certificate-Key ist zwei Stunden gültig. Falls seit der Cluster-Initialisierung mehr als zwei Stunden vergangen sind, kann ein neuer Schlüssel erzeugt werden (die Doppelung im Befehl ist notwendig): | Der Certificate-Key ist zwei Stunden gültig. Falls seit der Cluster-Initialisierung mehr als zwei Stunden vergangen sind, kann ein neuer Schlüssel erzeugt werden (die Doppelung im Befehl ist notwendig): | ||
| Zeile 253: | Zeile 256: | ||
| user0@jumphost: | user0@jumphost: | ||
| NAME STATUS | NAME STATUS | ||
| - | control1 | + | control1 |
| - | control2 | + | control2 |
| - | control3 | + | control3 |
| - | node1 NotReady | + | node1 NotReady |
| - | node2 NotReady | + | node2 NotReady |
| </ | </ | ||
| Zeile 267: | Zeile 270: | ||
| Daher wird jetzt '' | Daher wird jetzt '' | ||
| <code bash> | <code bash> | ||
| - | kubectl apply -f https:// | + | kubectl apply -f https:// |
| </ | </ | ||
| Zeile 274: | Zeile 277: | ||
| user0@jumphost: | user0@jumphost: | ||
| NAME STATUS | NAME STATUS | ||
| - | control1 | + | control1 |
| - | control2 | + | control2 |
| - | control3 | + | control3 |
| - | node1 | + | node1 |
| - | node2 | + | node2 |
| </ | </ | ||
| Zeile 294: | Zeile 297: | ||
| Alternativ | Alternativ | ||
| - | '' | + | * '' |
| - | '' | + | |
| - | '' | + | |
| An dieser Stelle ist das Setup des Cluster abgeschlossen. | An dieser Stelle ist das Setup des Cluster abgeschlossen. | ||
| Zeile 308: | Zeile 311: | ||
| mkdir bin | mkdir bin | ||
| source .profile | source .profile | ||
| - | wget https:// | + | wget -O bin/ |
| chmod +x kubectl | chmod +x kubectl | ||
| mv kubectl bin | mv kubectl bin | ||
| Zeile 336: | Zeile 339: | ||
| source < | source < | ||
| </ | </ | ||
| + | |||
| + | === oder === | ||
| + | am Ende der .profile | ||
| + | <code bash> | ||
| + | # kubectl alias and bash completion | ||
| + | # https:// | ||
| + | source < | ||
| + | alias k=kubectl | ||
| + | complete -F __start_kubectl k | ||
| + | </ | ||
| + | |||
| Für Helm würde selbiges funktionieren | Für Helm würde selbiges funktionieren | ||
| Zeile 349: | Zeile 363: | ||
| kubectl krew | kubectl krew | ||
| kubectl krew update | kubectl krew update | ||
| + | kubectl krew install view-secret | ||
| kubectl krew install ctx | kubectl krew install ctx | ||
| kubectl krew install neat | kubectl krew install neat | ||
| </ | </ | ||
it-wiki/kubernetes/installation.1740113939.txt.gz · Zuletzt geändert: von marko