1. Dashboard
  2. Blog
    1. Artikel
  3. Forum
  4. Galerie
    1. Alben
    2. Karte
  5. Shop
    1. Hilfe
    2. Bestellungen
    3. Versandkosten
  6. Marktplatz
    1. Nutzungsbedingungen
    2. Karte
    3. Bewertungen
  7. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  • Anmelden
  • Registrieren
  • Suche
Blog-Artikel
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Blog-Artikel
  • Galerie
  • Produkte
  • Marktplatz-Eintrag
  • Erweiterte Suche
  1. Oles Techblog
  2. Blog
  3. Oles Technik & Smarthome Blog

Einen Kubernetes Cluster Installieren - Kubernetes für dummies - Teil 2

  • Olaf Krause
  • 2. Februar 2020 um 19:43
  • 1.215 Mal gelesen
Inhaltsverzeichnis [VerbergenAnzeigen]
  1. Vorraussetzungen
  2. Installation
  3. Erstes container deployment

Fortsetzung des Teil 1 in dem wir den Kubernetes Masternode installiert haben.

Vorraussetzungen

Für den ersten computer oder workernode gelten die gleichen Vorraussetzungen sprich

  • Ubuntu 18LTS
  • Mind. 2 CPUs (worker sollten eher noch mehr haben)
  • Speicher kommt drauf an was später als Container drauf laufen soll - aber 4GB scheint mir das Minimum
  • Feste IP Adresse und eindeutigen Namen
  • SWAP aus (fstab nicht vergessen)

Installation

wie Beim Server um kubeadm und docker laufen lassen zu können:

Code
sudo apt install docker.io
sudo systemctl enable docker
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt install kubeadm

dann immer noch als root

Code
kubeadm join 192.168.0.40:6443 --token ndcyaw.token--discovery-token-ca-cert-hash sha256:hash

obiges ist das Join Kommando inkl. token und hash am ende der Erstellung des Masters. Sollte das join einfach hängen und in /var/log/syslog kubelet service nicht starten können das /var/libe/kubelet fehlt lasst euch ein neues join kommanda auf dem Master geben mit "sudo kubeadm token create --print-join-command". Man kann jetzt auf dem Master als normaler user prüfen ob alles geklappt hat

Code
olaf-krause@k8s-master-i:~$ kubectl get nodes
NAME            STATUS     ROLES    AGE     VERSION
k8s-compute-i   NotReady   <none>   29s     v1.17.2
k8s-master-i    Ready      master   7h39m   v1.17.2

Supi der erste compute node ist sichtbar. Nach ein paar Minuten sollte der Status auch auf Ready springen.

Erstes container deployment

klassisches Beispiel mit nginx also einem Webserver. Wieder als user auf dem master

Code
kubernetes-master:~$ kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"
kubernetes-master:~$ kubectl expose deployment nginx-server --port=80 --name=nginx-http

kurzer check auf dem worker

Code
olaf-krause@k8s-compute-i:~$ sudo docker ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                     PORTS               NAMES
1236cbaa5e23        nginx                    "nginx -g 'daemon of…"   2 minutes ago       Up 2 minutes                                   k8s_nginx-server_nginx-server-646bbbc896-9z2pc_default_26588fea-6f4b-4533-8c0c-cca30850ab3e_0

oder auf dem Master

Code
olaf-krause@k8s-master-i:~$ kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP   7h47m
nginx-http   ClusterIP   10.108.185.230   <none>        80/TCP    3m18s

Kurzer check ob der Webserver tatsächlich läuft mit curl auf die IP oben:

HTTP
olaf-krause@k8s-compute-i:~$ curl -I 10.108.185.230
HTTP/1.1 200 OK
Server: nginx/1.17.8
Date: Sun, 02 Feb 2020 18:25:52 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 21 Jan 2020 13:36:08 GMT
Connection: keep-alive
ETag: "5e26fe48-264"
Accept-Ranges: bytes

sieht perfekt aus. Jetzt haben wir also einen Kubernetes Master und einen Worker noder am laufen und als test container nginx deployed. Noch ein kurzer resourcecheck beim worker: 1.6GB Speicherverbrauch im idle mit dem webserver am laufen. Das ist OK, wirklich sparen tun wir ja erst, wenn wir viele Container haben und uns das jeweilige OS sparen können.

Der zweite Compute node wird analog zum ersten erstellt - brauch ich denke ich nicht im Detail nochmals erklären. Am Ende des Teil 2 haben wir also

  1. k8s-master-i (192.168.0.40)
  2. k8s-compute-i (192.168.0.43)
  3. k8s-compute-ii (192.168.0.44)

+ nginx im Docker am laufen. :thumbup:

Jetzt haben wir die Grundlage geschaffen weitere Deployments in unserem Kubernetes Cluster vorzunehmen. Spannend wird es natürlich erst dann, wenn wir services nach außen zu Verfügung stellen und auch ein storage anbinden. Das kommt dann in den nächsten Teilen. <3

EEG: PV 20kWp - 90kWh Victron LFP Speicher; EVs: BMW i3 60Ah & Tesla M3 Gadgets im Fluss
3D Drucker: Voron 2.4 & Qidi X-Max + X-Plus; Schaut im Shop vorbei: https://www.elektrifiziert.net/shop/

  • Vorheriger Artikel Einen Kubernetes Cluster Installieren - Kubernetes für dummies - Teil 1
  • Nächster Artikel Einen K8S Cluster betreiben - Kubernetes für dummies - Teil 3

Kommentare

Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

  • Smileys
  • :)
  • :(
  • ;)
  • :P
  • ^^
  • :D
  • ;(
  • X(
  • :*
  • :|
  • 8o
  • =O
  • <X
  • ||
  • :/
  • :S
  • X/
  • 8)
  • ?(
  • :huh:
  • :rolleyes:
  • :love:
  • :pinch:
  • 8|
  • :cursing:
  • :wacko:
  • :thumbdown:
  • :thumbup:
  • :sleeping:
  • :whistling:
  • :evil:
  • :saint:
  • <3
  • :!:
  • :?:

Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.

  • Smileys
  • :)
  • :(
  • ;)
  • :P
  • ^^
  • :D
  • ;(
  • X(
  • :*
  • :|
  • 8o
  • =O
  • <X
  • ||
  • :/
  • :S
  • X/
  • 8)
  • ?(
  • :huh:
  • :rolleyes:
  • :love:
  • :pinch:
  • 8|
  • :cursing:
  • :wacko:
  • :thumbdown:
  • :thumbup:
  • :sleeping:
  • :whistling:
  • :evil:
  • :saint:
  • <3
  • :!:
  • :?:

Kategorien

  • Computer und IT

Archiv

  1. 2024 (3)
    1. September (1)
    2. August (1)
    3. Februar (1)
  2. 2022 (2)
    1. März (1)
    2. Februar (1)
  3. 2021 (11)
    1. November (1)
    2. September (1)
    3. August (1)
    4. Mai (7)
    5. März (1)
  4. 2020 (10)
    1. Oktober (2)
    2. August (1)
    3. Juli (1)
    4. April (1)
    5. März (1)
    6. Februar (3)
      • Einen K8S Cluster betreiben - Kubernetes für dummies - Teil 3
      • Einen Kubernetes Cluster Installieren - Kubernetes für dummies - Teil 2
      • Einen Kubernetes Cluster Installieren - Kubernetes für dummies - Teil 1
    7. Januar (1)
  5. 2019 (2)
    1. Dezember (2)
  6. 2018 (6)
    1. Oktober (4)
    2. April (1)
    3. Februar (1)
  7. 2017 (8)
    1. Dezember (4)
    2. August (1)
    3. März (3)
  8. 2016 (10)
    1. November (1)
    2. Oktober (2)
    3. September (3)
    4. Mai (1)
    5. April (1)
    6. März (1)
    7. Februar (1)
  9. 2015 (1)
    1. November (1)
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™ 6.1.8