kubernetes

Роль Kubernetes

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

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

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

# Версия для установки или последняя
kube_version: 1.28.7
# Тип узла: 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
# Дополнительные аргументы kubelet
kubelet_extra_args: ''
# Флаг для установки HELM
kube_install_helm: true
# Если true, запуск kubernetes etcd в ramdisk
etcd_in_RAM: true
# Развертывание панелей управления
kube_deploy_dashboard:  true
# Значение для параметра 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
# Флаг для включения поддержки GPU
enable_gpu: false
# Имя (и версия) роли Ansible, которая будет включена, если `enable_gpu == true'
gpu_support_role: git+https://baltig.infn.it/infn-cloud/ansible-role-gpu-support,vX.Y.Z

Зависимости

  • ansible-role-gpu-support (если enable_gpu == true)
  • ansible-role-containerd (от geerlingguy)

ETCD в RAM

Требования

Кластер должен использовать containerd в качестве контейнерного времени выполнения, и etcd должен работать как pod в кластере kubernetes, как при установке кластера с помощью kubeadm.

Ручная установка для существующего кластера

Сначала скачайте nerdctl здесь и переместите исполняемый файл в /usr/local/bin. Затем скопируйте содержимое папки files_etcdRAM следующим образом:

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

Перезапустите daemon и обновите crontab:

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

Чтобы смонтировать директорию хранения /var/lib/etcd как ramdisk, необходимо добавить одну строку в /etc/fstab:

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

Наконец, удалите все содержимое из директории /var/lib/etcd и смонтируйте ramdisk:

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

Благодарности

Также см. пост и оригинальный репозиторий, где это было описано.

О проекте

Install Kubernetes cluster

Установить
ansible-galaxy install DODAS-TS/ansible-role-kubernetes
Лицензия
apache-2.0
Загрузки
1474
Владелец
Dynamic On Demand Analysis Service DODAS is a Platform as a Service tool built combining several solutions and products