Skip to content

Zeljko-Predjeskovic/Vagrant-Ansible_Clustering

Repository files navigation

Vagrant / Ansible / Docker swarm / K8s mit Windows

Author: Zeljko Predjeskovic

Quellen:

Docker-swarm Setup Hilfe

Ansible

Vagrant setup Hilfe

Start vom Programm

Weidere Info zum starten ist in der dokumentierten PDF oder adoc File. Die Readme ist als Vorschau für meinen Lehrer gedacht, damit das Ergebnis richtig ist.

Inhaltsverzeichnis (Bitbucket ist zu schlecht für ein Inhaltsverzeichnis)

Benötigte Software

python 3, pip3, ansible


alles wird in der wsl gemacht:

$python -m -venv --prompt ansible -start venv

$. venv/bin/activate

$pip install ansible

$pip freeze >requirements.txt

$pip install -r requirements.txt

venv ist das virtual environment und hilft uns mit dem requirements.txt diese bestimmten versionen mit python zu installieren.

Anmerkung: ansible packages wurden mit pip nicht vollständig geladen daher ansible mit sudo installiert und dann wieder mit pip.

vagrant, virtualbox


powershell oder windows cmd:

$vagrant up

Problem

Vagrant funktioniert, jedoch keine möglichkeit die VMs mit ansible zu steuern weil ich in der WSL nicht mit ssh zugriff haben kann. Habe einige Tage getroubleshooted und nicht wirklich eine Lösung gefunden.

ssh problem

Problemlösung

in der wsl im .ssh ordner die private.keys von den VMs kopieren und dann eine config file erstellen und das rein schreiben:

so werden die keys im ssh agent gespeichert und mann kann mit ssh auf die VMs steuern

ACHTUNG: den .ssh ordner vom Linux Home verzeichnis in der WSL benutzen


Docker-swarm-setup

Files

inventory file -VM Hosts

playbooks

setup-docker-swarms.yml -ganzes Setup

setup-docker-swarms-leave.yml -swarm Löschen

roles/docker-ce/tasks/main.yml -installation von Docker

roles/docker-swarm-init/tasks/main.yml -swarm im manager initialisieren

roles/docker-swarm-add-worker/tasks/main.yml -worker im swarm einfügen

roles/docker-swarm-leave/tasks/main.yml -swarm löschen

$ansible-playbook -i inventory -u vagrant --become playbooks/setup-docker-swarms.yml

Ansible setup mit dem command starten...

Mit ssh in den master Host und den swarm checken

Ergebnis:

Kubernetes-setup

Files:

playbooks:

setup-k8s.yml -setup vom k8s cluster

setup-k8s-reset.yml -reset vom cluster

roles/k8s-reset/task/main.yml - reset commands

roles/k8s-install/tasks/main.yml -k8s installieren

roles/k8s-init/tasks/main.yml -initialisieren vom k8s cluster

Ergebnis: