dodas.kubernetes
Rôle Kubernetes
Ce rôle Ansible installe un cluster Kubernetes.
Variables du rôle
Les variables qui peuvent être passées à ce rôle avec une brève description sont les suivantes :
# Version à installer ou dernière version
kube_version: 1.28.7
# Type de nœud : front ou wn
kube_type_of_node: front
# Adresse IP ou nom du nœud Kube front
kube_server: "{{ ansible_default_ipv4.address }}"
# Jeton de sécurité
kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"
# Durée de vie du jeton (0 ne expire pas)
kube_token_ttl: 0
# CIDR du réseau POD
kube_pod_network_cidr: 10.244.0.0/16
# Arguments supplémentaires de Kubelet
kubelet_extra_args: ''
# Indicateur pour installer HELM
kube_install_helm: true
# Si vrai, exécute etcd de Kubernetes en RAM
etcd_in_RAM: true
# Déployer le tableau de bord
kube_deploy_dashboard: true
# Valeur à passer à l'option kubeadm init --apiserver-advertise-address
kube_api_server: 0.0.0.0
# Un ensemble de dépôts git et de chemins à appliquer dans le cluster. Suivez ce format :
# kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
kube_apply_repos: []
# Indicateur pour installer le Metrics-Server
kube_install_metrics: false
# Indicateur pour activer le support GPU
enable_gpu: false
# Nom (et version) du rôle Ansible à inclure si `enable_gpu == true'
gpu_support_role: git+https://baltig.infn.it/infn-cloud/ansible-role-gpu-support,vX.Y.Z
Dépendances
- ansible-role-gpu-support (si
enable_gpu == true
) - ansible-role-containerd (par geerlingguy)
ETCD en RAM
Exigences
Le cluster doit utiliser containerd comme runtime de conteneur et etcd doit fonctionner comme un pod dans le cluster Kubernetes, comme avec une configuration de cluster kubeadm.
Configuration manuelle pour un cluster existant
Tout d'abord, téléchargez nerdctl depuis ici et déplacez l'exécutable vers /usr/local/bin
. Ensuite, copiez le contenu du dossier files_etcdRAM
comme suit :
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
Redémarrez le daemon
et mettez à jour le crontab
:
systemctl daemon-reload
crontab /etc/cron.d/etcdRAM-etcd
Pour monter le répertoire de stockage /var/lib/etcd
comme un ramdisk, il faut ajouter une ligne unique à /etc/fstab
:
tmpfs /var/lib/etcd tmpfs defaults,noatime,size=2g 0 0
Enfin, supprimez tout le contenu du répertoire /var/lib/etcd
et montez le ramdisk :
rm -rf /var/lib/etcd/*
mount -a
Crédits
Voir aussi le post et le dépôt original, où cela a été décrit.
ansible-galaxy install dodas.kubernetes