K8s - Installation

Angelegt Sonntag 04 Februar 2018

https://kubernetes.io/docs/tutorials/
https://kubernetes.io/docs/reference/

Installation
Anleitung Kubernetes : https://kubernetes.io/docs/setup/independent/install-kubeadm/
Überblick Installationsmodelle : https://platform9.com/docs/install-kubernetes-the-ultimate-guide/
Gute Anleitung (mit lauffähigem Beispiel Sock-Shop) : https://www.mirantis.com/blog/how-install-kubernetes-kubeadm/
Sock Shop : A Microservice Demo Application : https://github.com/microservices-demo/microservices-demo
Gute Anleitung : https://linode.com/docs/applications/containers/how-to-deploy-nginx-on-a-kubernetes-cluster/
How To Create a Kubernetes 1.11 Cluster Using Kubeadm on Ubuntu 18.04 : https://www.digitalocean.com/community/tutorials/how-to-create-a-kubernetes-1-11-cluster-using-kubeadm-on-ubuntu-18-04

Installation Kubernetes Basissystem

  1. Swap daktivieren (Systemverwaltung)
  2. Docker installieren nach https://docs.docker.com/install/linux/docker-ce/ubuntu/#os-requirements . Zur Zeit wird Installation von Version 17.03 empfohlen.
  3. $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - : Schlüssel für K8s-Repo holen.
  4. Kubernetes Repo zum System hinzufügen (mehr wird nicht gemacht!)

$ cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF

  1. Alle notwendigen Pakete installieren
$ apt-get update && apt-get install -y kubelet kubeadm kubectl
  1. Info: Installation Kubectl auf verschiedenen PLattformen: https://kubernetes.io/docs/tasks/tools/install-kubectl/

Verzeichnisse + Files
Konfigurationsfile: /etc/kubernetes/admin.conf

Cluster (Master) erzeugen

  1. Auf dem Masterknoten ein Cluster mit einem dedizierten Netzwerk (z.B. Calico-Netzwerk) erzeugen:
$ kubeadm init --pod-network-cidr=192.168.0.0/16
  1. Den erzeugten Join-Befehl mit Token abspeichern, damit man sich mit dem Master verbinden kann.
(Kann mit $ kubeadm token create --print-join-command bei Bedarf wieder erzeugt werden)
  1. export KUBECONFIG=/etc/kubernetes/admin.conf : Konfiguration verfügbar machen.
  2. Calico Addin installieren https://docs.projectcalico.org/v3.5/getting-started/kubernetes/:
$ kubectl apply -f https://docs.projectcalico.org/v3.5/getting-started/kubernetes/installation/hosted/etcd.yaml
$ kubectl apply -f https://docs.projectcalico.org/v3.5/getting-started/kubernetes/installation/hosted/calico.yaml
  1. Überprüfen, ob das Netzwerk läuft:
$ kubectl get pods --all-namespaces

Worker hinzunehmen

  1. Auf Master Join-Befehl mit Token erzeugen:
$ kubeadm token create --print-join-command
  1. Workerknoten hinzunehmen, indem man diesen Join-Befehl auf dem Worker ausführt.
  2. Cluster auf dem Master mit dem Kommando $ kubectl get nodes überprüfen.

Upgrade
Mit Hilfe von kubeadm: https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-ha-1-12/
Pakete docker-ce, kubeadm, kubectl, kubelet vorerst auf halten setzen.

root@k8-master-netlab ~ >apt-mark showhold
docker-ce
kubeadm
kubectl
kubelet


Backlinks:
3 Networked Infrastruktur