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.

À propos du projet

Install Kubernetes cluster

Installer
ansible-galaxy install dodas.kubernetes
Licence
apache-2.0
Téléchargements
1.5k
Propriétaire
Dynamic On Demand Analysis Service DODAS is a Platform as a Service tool built combining several solutions and products