dodas.kubernetes

Kubernetes Rolle

Diese Ansible-Rolle installiert ein Kubernetes Cluster.

Rollenvariablen

Die Variablen, die an diese Rolle übergeben werden können, sowie eine kurze Beschreibung sind wie folgt:

# Version, die installiert werden soll oder neueste
kube_version: 1.28.7
# Typ des Knotens: front oder wn
kube_type_of_node: front
# IP-Adresse oder Name des Kube-Frontknotens
kube_server: "{{ ansible_default_ipv4.address }}"
# Sicherheitstoken
kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"
# Token TTL-Dauer (0 bedeutet, nicht ablaufen)
kube_token_ttl: 0
# POD-Netzwerk CIDR
kube_pod_network_cidr: 10.244.0.0/16
# Zusätzliche Argumente für Kubelet
kubelet_extra_args: ''
# Flag, um die Installation von HELM zu aktivieren
kube_install_helm: true
# Wenn wahr, Kubernetes etcd im RAMdisk ausführen
etcd_in_RAM: true
# Dashboard bereitstellen
kube_deploy_dashboard: true
# Wert, der für die kubeadm init --apiserver-advertise-address Option übergeben werden soll
kube_api_server: 0.0.0.0
# Eine Sammlung von Git-Repos und Pfaden, die im Cluster angewendet werden sollen. In folgendem Format:
# kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
kube_apply_repos: []
# Flag, um den Metrics-Server zu installieren
kube_install_metrics: false
# Flag, um GPU-Unterstützung zu aktivieren
enable_gpu: false
# Name (und Version) der Ansible-Rolle, die eingeschlossen werden soll, wenn `enable_gpu == true'
gpu_support_role: git+https://baltig.infn.it/infn-cloud/ansible-role-gpu-support,vX.Y.Z

Abhängigkeiten

  • ansible-role-gpu-support (wenn enable_gpu == true)
  • ansible-role-containerd (von geerlingguy)

ETCD im RAM

Anforderungen

Der Cluster muss containerd als Container-Laufzeit verwenden und etcd muss als Pod im Kubernetes-Cluster laufen, z.B. mit einer kubeadm-Cluster-Setup.

Manuelle Einrichtung für ein bestehendes Cluster

Laden Sie zuerst nerdctl von hier herunter und verschieben Sie die ausführbare Datei nach /usr/local/bin. Dann kopieren Sie die Inhalte des Ordners files_etcdRAM wie folgt:

files_etcdRAM/usr/lib/systemd/system/kubelet.service.d ---> /usr/lib/systemd/system/kubelet.service.d
files_etcdRAM/etc/cron.d ---> /etc/cron.d
files_etcdRAM/opt/etcdRAM/bin ---> /opt/etcdRAM/bin

Starten Sie daemon neu und aktualisieren Sie crontab:

systemctl daemon-reload
crontab /etc/cron.d/etcdRAM-etcd

Um das Speicherverzeichnis /var/lib/etcd als RAM-Disk zu mounten, muss eine Zeile zu /etc/fstab hinzugefügt werden:

tmpfs                       /var/lib/etcd        tmpfs   defaults,noatime,size=2g  0 0

Entfernen Sie schließlich alle Inhalte aus dem Verzeichnis /var/lib/etcd und mounten Sie die RAM-Disk:

rm -rf /var/lib/etcd/*
mount -a

Danksagungen

Siehe auch den Beitrag und das ursprüngliche Repository, wo dies beschrieben wurde.

Über das Projekt

Install Kubernetes cluster

Installieren
ansible-galaxy install dodas.kubernetes
GitHub Repository
Lizenz
apache-2.0
Downloads
1.5k
Besitzer
Dynamic On Demand Analysis Service DODAS is a Platform as a Service tool built combining several solutions and products