kubernetes

Роль Kubernetes

Эта ansible роль устанавливает кластер Kubernetes.

Эта работа софинансируется проектом EOSC-hub (Горизонт 2020) под номером гранта 777536.

Переменные роли

Переменные, которые можно передать этой роли, и их краткое описание:

# Версия для установки или последняя (1.24 или выше)
kube_version: 1.24.17
# Тип узла front или wn
kube_type_of_node: front
# IP-адрес или имя узла Kube front
kube_server: "{{ ansible_default_ipv4.address }}"
# Токен безопасности
kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"
# Длительность действия токена (0 - не истекает)
kube_token_ttl: 0
# CIDR сети POD
kube_pod_network_cidr: 10.244.0.0/16
# Тип сети для установки: в настоящее время поддерживаются: flannel, kube-router, calico, weave
kube_network: flannel
# Дополнительные аргументы Kubelet
kubelet_extra_args: ''
# Опции сервера Kube API
kube_apiserver_options: []
# Флаг для установки HELM
kube_install_helm: true
# Версия Helm
kube_install_helm_version: "v2.11.0"
# Развернуть Дашборд
kube_deploy_dashboard: false
# Значение для передачи в опцию kubeadm init --apiserver-advertise-address
kube_api_server: 0.0.0.0
# Набор git репозиториев и путей, которые будут применены в кластере. Следовать этому формату:
# kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
kube_apply_repos: []
# Флаг для установки Metrics-Server
kube_install_metrics: false
# Флаг для установки контроллера входа nginx
kube_install_ingress: false
# Флаг для установки интерфейса kubeapps
kube_install_kubeapps: false
# Версия чарта KubeApps для установки (или последняя)
kube_kubeapps_chart_version: "7.3.2"
# Дополнительные опции для плагина flannel
kube_flanneld_extra_args: [] 
# Включить установку и управление сертификатами с помощью Cert-manager
kube_cert_manager: false
# Публичный IP для использования cert-manager (не нужен, если задан kube_public_dns_name)
kube_cert_public_ip: "{{ ansible_default_ipv4.address }}"
# Публичное DNS-имя для использования в tls сертификате дашборда
kube_public_dns_name: ""
# Электронная почта для использования в Let's Encrypt issuer
kube_cert_user_email: [email protected]
# Переопределить версию docker по умолчанию
kube_docker_version: ""
# Опции для добавления в файл docker.json
kube_docker_options: {}
# Установить docker с использованием pip
kube_install_docker_pip: true
# Командные флаги для запуска k3s в сервисе systemd
kube_k3_exec: ""
# Как установить K8s: kubeadm или k3s
kube_install_method: kubeadm
# Сервера для установки и настройки ntp. Если [] ntp не будет настроен
kube_ntp_servers: [ntp.upv.es, ntp.uv.es]

Пример плейбука

Вот пример того, как установить эту роль на фронтенд-узле:

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

И на WN:

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

Вклад в роль

Чтобы поддерживать код в чистоте, возможность отправки изменений в основную ветку отключена. Если вы хотите внести вклад, вам нужно создать ветку, загрузить ваши изменения и затем создать Pull Request. Спасибо.

О проекте

Install Kubernetes cluster

Установить
ansible-galaxy install grycap/ansible-role-kubernetes
Лицензия
apache-2.0
Загрузки
13896
Владелец
Grid y Computación de Altas Prestaciones