Docker zum Entwickeln um mal fix was austesten ist schon eine sehr feine Sache, aber das Netzwerk finde ich echt ein Graus. Abhilfe wird hier hoffentlich Kubernetes schaffen.
Kubernetes baut auf Docker auf, erweitert aber den Funktionsumfang erheblich bei der Orchestrierung also dem Verwalten der Docker-Images. Eigentlich ist Kubernetes für das aufbauen von Cloud-Infrastrukturen gedacht, bringt aber auch bei kleinerem Einsatz, wie bei mir als 1 Node Installation wirkliche Vorteile.
Warum Kubernetes?
Ich setzte Kubernetes ein um:
- Images gruppieren zu können (Pods)
- Einfache Verwaltung des Netzwerkes
- Sicherstellen das de Service verfügbar ist durch Monitoring und automatische Restarts
- Sehr einfaches aber sehr mächtiges Kommandozeilen Interface
Meine Umgebung
Eigentlich ist vorgesehen das Kubernetes über unzählige Rechner verteilt wird, in meinen Fall bin ich aber nicht gewillt x Rootserver zu mieten auch wenn es meinen Hoster sicherlich sehr freuen würde :D. Aus diesem Grund habe ich mich für die Variante 1 Master und 1 Node auf einem Rechner entschieden. Dies ist nicht die Variante Minikube die zwar auch recht interessant ist aber doch einige Einschränkungen hat, nein es handelt sich wirklich um eine Installation die im Prinzip auch durch Hinzufügen weiterer Server erweitert werden könnte. Als Grundlage habe ich einen V-Root Server (KVM Virtualisierung) mit einem Ubuntu 16.04.
Die 15 Minuten Kubernetes Installation
Benötigt; Server mit Ubuntu 16.04 (damit habe ich es gemacht andere Linux/Versionen gehen natürlich auch), root Zugang, Mut es einfach zu tun
Natürlich dafür sorgen das der Server mit den aktuellen Systempaketen läuft
sudo apt-get update sudo apt-get upgarde
Die benötigten Pakete installieren
apt-get update && apt-get install -y apt-transport-https curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl ebtables ethtool docker.io
Den Cluster Anlegen
sudo kubeadm init
wenn alles ohne Fehler durchläuft
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config export kubever=$(kubectl version | base64 | tr -d '\n') kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever" kubectl taint nodes --all node-role.kubernetes.io/master-
Installation Abgeschlossen 😀
Erste schritte Tipps und Tricks folgen noch hier im Blog beziehungsweise können auf der Kubernetes Webseite nachgelesen werden
Ich hoffe dieser keine Artikel bring euch weiter, über das Teilen und kommentieren freue ich mich natürlich sehr