grycap.kubernetes

Kubernetes Role

This Ansible role sets up a Kubernetes cluster.

This project is partially funded by the EOSC-hub project under Grant number 777536. EU Logo EOSC-hub Logo

Role Variables

Here are the variables you can set for this role, along with a brief description:

  • kube_version: Specify the version to install or set to 'latest' (e.g., 1.24 or higher). Default is 1.24.17.
  • kube_type_of_node: Type of node, either 'front' or 'wn' (worker node).
  • kube_server: IP address or hostname of the Kube front node.
  • kube_token: Security Token. Format: "kube01.".
  • kube_token_ttl: Token Time-To-Live duration (0 means it does not expire).
  • kube_pod_network_cidr: CIDR for the POD network (default is 10.244.0.0/16).
  • kube_network: Type of network to install (options: flannel, kube-router, calico, weave).
  • kubelet_extra_args: Additional arguments for Kubelet.
  • kube_apiserver_options: Options for the Kube API server.
  • kube_install_helm: Set to 'true' to install HELM.
  • kube_install_helm_version: Version of HELM to install (default is "v2.11.0").
  • kube_deploy_dashboard: Set to 'true' to deploy the Dashboard.
  • kube_api_server: Address for the kubeadm init --apiserver-advertise-address option.
  • kube_apply_repos: List of Git repositories and paths to apply in the cluster.
  • kube_install_metrics: Set to 'true' to install Metrics Server.
  • kube_install_ingress: Set to 'true' to install nginx ingress controller.
  • kube_install_kubeapps: Set to 'true' to install KubeApps UI.
  • kube_kubeapps_chart_version: Version of KubeApps chart to install (default is "7.3.2").
  • kube_flanneld_extra_args: Extra arguments for the flannel plugin.
  • kube_cert_manager: Set to 'true' to install and manage certificates with Cert-manager.
  • kube_cert_public_ip: Public IP for the cert-manager (if kube_public_dns_name is not set).
  • kube_public_dns_name: Public DNS name for the Dashboard TLS certificate.
  • kube_cert_user_email: Email for Let's Encrypt issuer.
  • kube_docker_version: Override for the default Docker version.
  • kube_docker_options: Additional options for the docker.json file.
  • kube_install_docker_pip: Flag to install Docker with pip.
  • kube_k3_exec: Command flags for launching k3s in the systemd service.
  • kube_install_method: Choose installation method for K8s: kubeadm or k3s.
  • kube_ntp_servers: List of NTP servers to configure. Leave empty ([]) to skip NTP configuration.

Example Playbook

Here's an example of how to use this role to set up the front-end node:

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

And for the worker nodes:

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

Contributing to the Role

To keep the code organized, direct changes to the master branch are not allowed. If you want to contribute, create a new branch, make your changes, and then submit a pull request. Thank you!

Informazioni sul progetto

Install Kubernetes cluster

Installa
ansible-galaxy install grycap.kubernetes
Licenza
apache-2.0
Download
14.4k
Proprietario
Grid y Computación de Altas Prestaciones