dodas.kubernetes

Rola Kubernetes

Ta rola Ansible instaluje klaster Kubernetes.

Zmienne Roli

Zmienne, które można przekazać do tej roli oraz ich krótki opis:

# Wersja do zainstalowania lub najnowsza
kube_version: 1.28.7
# Typ węzła: front lub wn
kube_type_of_node: front
# Adres IP lub nazwa węzła frontowego Kube
kube_server: "{{ ansible_default_ipv4.address }}"
# Tokenu bezpieczeństwa
kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"
# Czas ważności tokenu (0 oznacza brak wygaszenia)
kube_token_ttl: 0
# CIDR sieci PODów
kube_pod_network_cidr: 10.244.0.0/16
# Dodatkowe argumenty dla Kubelet
kubelet_extra_args: ''
# Flaga, aby zainstalować HELM
kube_install_helm: true
# Jeżeli prawda, uruchamianie etcd w ramdysku
etcd_in_RAM: true
# Wdrożenie Dashboardu
kube_deploy_dashboard: true
# Wartość do przekazania do opcji kubeadm init --apiserver-advertise-address
kube_api_server: 0.0.0.0
# Zestaw repozytoriów git i ścieżek do zastosowania w klastrze. W formacie:
# kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
kube_apply_repos: []
# Flaga, aby zainstalować Metrics-Server
kube_install_metrics: false
# Flaga, aby włączyć wsparcie GPU
enable_gpu: false
# Nazwa (i wersja) roli Ansible do włączenia, jeśli `enable_gpu == true'
gpu_support_role: git+https://baltig.infn.it/infn-cloud/ansible-role-gpu-support,vX.Y.Z

Zależności

  • ansible-role-gpu-support (jeśli enable_gpu == true)
  • ansible-role-containerd (od geerlingguy)

ETCD w RAM

Wymagania

Klaster musi korzystać z containerd jako runtime kontenerów, a etcd musi działać jako pod w klastrze Kubernetes, na przykład w konfiguracji klastra kubeadm.

Ręczna konfiguracja dla istniejącego klastra

Najpierw pobierz nerdctl z tutaj i przenieś plik wykonywalny do /usr/local/bin. Następnie skopiuj zawartość folderu files_etcdRAM jak poniżej:

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

Uruchom ponownie daemon i zaktualizuj crontab:

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

Aby zamontować katalog danych /var/lib/etcd jako ramdysk, należy dodać jedną linię do /etc/fstab:

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

Na koniec usuń wszystko z katalogu /var/lib/etcd i zamontuj ramdysk:

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

Podziękowania

Zobacz także post oraz oryginalne repozytorium, gdzie to opisano.

O projekcie

Install Kubernetes cluster

Zainstaluj
ansible-galaxy install dodas.kubernetes
Licencja
apache-2.0
Pobrania
1.5k
Właściciel
Dynamic On Demand Analysis Service DODAS is a Platform as a Service tool built combining several solutions and products