grycap.kubernetes

Rôle Kubernetes

Ce rôle Ansible installe un cluster Kubernetes.

Ce travail est cofinancé par le projet EOSC-hub (Horizon 2020) sous le numéro de subvention 777536.

Variables du Rôle

Les variables qui peuvent être transmises à ce rôle et une brève description à leur sujet sont les suivantes.

# Version à installer ou la plus récente (1.24 ou supérieur)
kube_version: 1.24.17
# Type de nœud : front ou wn
kube_type_of_node: front
# Adresse IP ou nom du nœud front de Kube
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 validité du jeton (0 signifie ne pas expirer)
kube_token_ttl: 0
# CIDR du réseau des POD
kube_pod_network_cidr: 10.244.0.0/16
# Type de réseau à installer : actuellement supporté : flannel, kube-router, calico, weave
kube_network: flannel
# Arguments supplémentaires pour Kubelet
kubelet_extra_args: ''
# Options pour le serveur API de Kube
kube_apiserver_options: []
# Indicateur pour installer HELM
kube_install_helm: true
# Version de Helm
kube_install_helm_version: "v2.11.0"
# Déployer le Dashboard
kube_deploy_dashboard: false
# Valeur à transmettre à 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. Suivre 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 installer le contrôleur d'ingress nginx
kube_install_ingress: false
# Indicateur pour installer l'interface utilisateur kubeapps
kube_install_kubeapps: false
# Version du chart KubeApps à installer (ou la plus récente)
kube_kubeapps_chart_version: "7.3.2"
# Options supplémentaires pour le plugin flannel
kube_flanneld_extra_args: [] 
# Activer l'installation et la gestion des certificats avec Cert-manager
kube_cert_manager: false
# IP publique à utiliser par le cert-manager (pas nécessaire si kube_public_dns_name est défini)
kube_cert_public_ip: "{{ ansible_default_ipv4.address }}"
# Nom DNS public à utiliser dans le certificat tls du tableau de bord
kube_public_dns_name: ""
# Email à utiliser dans l'émetteur Let's Encrypt
kube_cert_user_email: [email protected]
# Remplacer la version docker par défaut
kube_docker_version: ""
# Options à ajouter dans le fichier docker.json
kube_docker_options: {}
# Installer docker avec pip
kube_install_docker_pip
# Drapeaux de commande à utiliser pour lancer k3s dans le service systemd
kube_k3_exec: ""
# Comment installer K8s : kubeadm ou k3s
kube_install_method: kubeadm
# Serveurs pour installer et configurer ntp. Si [] ntp ne sera pas configuré
kube_ntp_servers: [ntp.upv.es, ntp.uv.es]

Exemple de Playbook

Ceci est un exemple de comment installer ce rôle sur le nœud frontal :

- hosts: server
  roles:
  - { role: 'grycap.kubernetes', kube_apiserver_options: [{option: "--insecure-port", value: "8080"}] }

Et sur les WNs :

- hosts: wn
  roles:
  - { role: 'grycap.kubernetes', kube_type_of_node: 'wn', kube_server: '10.0.0.1' }

Contribuer au rôle

Afin de garder le code propre, l'envoi de modifications à la branche principale a été désactivé. Si vous voulez contribuer, vous devez créer une branche, télécharger vos modifications puis créer une demande de tirage. Merci

À propos du projet

Install Kubernetes cluster

Installer
ansible-galaxy install grycap.kubernetes
Licence
apache-2.0
Téléchargements
14.4k
Propriétaire
Grid y Computación de Altas Prestaciones