dodas.kubernetes

Rol de Kubernetes

Este rol de Ansible instala un clúster de Kubernetes.

Variables del Rol

Las variables que se pueden pasar a este rol y una breve descripción son las siguientes:

# Versión a instalar o la última
kube_version: 1.28.7
# Tipo de nodo: front o wn
kube_type_of_node: front
# Dirección IP o nombre del nodo frontal de Kube
kube_server: "{{ ansible_default_ipv4.address }}"
# Token de seguridad
kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"
# Duración del TTL del token (0 para no expirar)
kube_token_ttl: 0
# CIDR de la red de POD
kube_pod_network_cidr: 10.244.0.0/16
# Argumentos adicionales para Kubelet
kubelet_extra_args: ''
# Bandera para instalar HELM
kube_install_helm: true
# Si es verdadero, ejecuta etcd de Kubernetes en ramdisk
etcd_in_RAM: true
# Desplegar el Dashboard
kube_deploy_dashboard: true
# Valor para pasar a la opción kubeadm init --apiserver-advertise-address
kube_api_server: 0.0.0.0
# Un conjunto de repositorios git y rutas a aplicar en el clúster. Siguiendo este formato:
# kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
kube_apply_repos: []
# Bandera para instalar Metrics-Server
kube_install_metrics: false
# Bandera para habilitar soporte GPU
enable_gpu: false
# Nombre (y versión) del rol de Ansible a incluir si `enable_gpu == true'
gpu_support_role: git+https://baltig.infn.it/infn-cloud/ansible-role-gpu-support,vX.Y.Z

Dependencias

  • ansible-role-gpu-support (si enable_gpu == true)
  • ansible-role-containerd (por geerlingguy)

ETCD en RAM

Requisitos

El clúster debe estar utilizando containerd como tiempo de ejecución de contenedores y etcd debe estar ejecutándose como un pod en el clúster de Kubernetes, como en una configuración de clúster kubeadm.

Configuración manual para un clúster existente

Primero, descarga nerdctl desde aquí y mueve el ejecutable a /usr/local/bin. Luego, copia los contenidos de la carpeta files_etcdRAM de la siguiente manera:

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

Reinicia el daemon y actualiza el crontab:

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

Montar el directorio de almacenamiento /var/lib/etcd como un ramdisk requiere agregar una sola línea a /etc/fstab:

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

Finalmente, elimina todo el contenido del directorio /var/lib/etcd y monta el ramdisk:

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

Créditos

Consulta también la publicación y el repositorio original, donde se describió esto.

Acerca del proyecto

Install Kubernetes cluster

Instalar
ansible-galaxy install dodas.kubernetes
Licencia
apache-2.0
Descargas
1.5k
Propietario
Dynamic On Demand Analysis Service DODAS is a Platform as a Service tool built combining several solutions and products