grycap.kubernetes
Rol de Kubernetes
Este rol de Ansible instala un clúster de Kubernetes.
Este trabajo es cofinanciado por el proyecto EOSC-hub (Horizon 2020) bajo el número de subvención 777536.
Variables del Rol
Las variables que se pueden pasar a este rol y una breve descripción sobre ellas son las siguientes.
# Versión a instalar o la más reciente (1.24 o superior)
kube_version: 1.24.17
# 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 no expira)
kube_token_ttl: 0
# CIDR de red POD
kube_pod_network_cidr: 10.244.0.0/16
# Tipo de red a instalar: actualmente soportados: flannel, kube-router, calico, weave
kube_network: flannel
# Argumentos adicionales para kubelet
kubelet_extra_args: ''
# Opciones para el servidor API de Kube
kube_apiserver_options: []
# Opción para instalar HELM
kube_install_helm: true
# Versión de Helm
kube_install_helm_version: "v2.11.0"
# Desplegar el Dashboard
kube_deploy_dashboard: false
# 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 que se aplicarán en el clúster. Seguir este formato:
# kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
kube_apply_repos: []
# Opción para instalar Metrics-Server
kube_install_metrics: false
# Opción para instalar el controlador de ingreso nginx
kube_install_ingress: false
# Opción para instalar la interfaz de KubeApps
kube_install_kubeapps: false
# Versión del chart de KubeApps a instalar (o la más reciente)
kube_kubeapps_chart_version: "7.3.2"
# Opciones adicionales para el plugin flannel
kube_flanneld_extra_args: []
# Habilitar para instalar y gestionar Certificados con Cert-manager
kube_cert_manager: false
# IP pública a usar por el cert-manager (no necesario si se establece kube_public_dns_name)
kube_cert_public_ip: "{{ ansible_default_ipv4.address }}"
# Nombre DNS público a usar en el certificado tls del dashboard
kube_public_dns_name: ""
# Correo electrónico a utilizar en el emisor de Let's Encrypt
kube_cert_user_email: [email protected]
# Anular la versión de docker por defecto
kube_docker_version: ""
# Opciones para agregar en el archivo docker.json
kube_docker_options: {}
# Instalar docker con pip
kube_install_docker_pip
# Banderas de comando a usar para lanzar k3s en el servicio systemd
kube_k3_exec: ""
# Método de instalación de K8s: kubeadm o k3s
kube_install_method: kubeadm
# Servidores para instalar y configurar ntp. Si [] ntp no será configurado
kube_ntp_servers: [ntp.upv.es, ntp.uv.es]
Ejemplo de Playbook
Este es un ejemplo de cómo instalar este rol en el nodo frontal:
- hosts: server
roles:
- { role: 'grycap.kubernetes', kube_apiserver_options: [{option: "--insecure-port", value: "8080"}] }
Y en los WNs:
- hosts: wn
roles:
- { role: 'grycap.kubernetes', kube_type_of_node: 'wn', kube_server: '10.0.0.1' }
Contribuyendo al rol
Para mantener el código limpio, se ha deshabilitado subir cambios a la rama principal. Si deseas contribuir, debes crear una rama, subir tus cambios y luego crear una solicitud de extracción. Gracias.
Instalar
ansible-galaxy install grycap.kubernetes
Licencia
apache-2.0
Descargas
14.4k
Propietario
Grid y Computación de Altas Prestaciones