Skip to content

Playbook для развертывания тестового кластер kubernetes

License

Notifications You must be signed in to change notification settings

Sewer01/00-kube-ansible

 
 

Repository files navigation

Ansible playbook для установки тестового кластера k8s

В данный момент поддерживает:

  • Установку одной или несколько control nodes.
  • HA доступ к API kubernetes.
  • containerd.
  • calico.
  • В KubeProxyConfiguration установлены параметры для работы Metallb.
  • nodelocaldns - кеширующий DNS сервер на каждой ноде кластера.

Не оттестировано на дистрибутивах Debian.

Установка ansible

Так получилось, что у меня в WSL2 стоит Ubuntu:

apt install python3.10-venv
python3 -m venv venv
. ~/venv/bin/activate
python3 -m pip install ansible

Генерируем ssh ключ:

ssh-keygen

Копируем ключики в виртуальные машины из hosts.yaml:

ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

Конфигурационные параметры

Установка

k8s с одной control node

В инвентори в группе k8s_masters необходимо указать только один хост.

ansible-playbook install-cluster.yaml

k8s с несколькими control nodes

В инвентори в группе k8s_masters необходимо указать нечётное количество control nodes.

ansible-playbook install-cluster.yaml

k8s c HA

Используются haproxy и keepalived.

ha cluster

В конфигурационном файле определите параметры доступа к API :

  • ha_cluster_virtual_ip - виртуальный IP адрес.
  • ha_cluster_virtual_port - порт. Не должен быть равен 6443.

Удалить кластер

ansible-playbook reset.yaml

Апдейт кластера

Изменяете версию кластера в group_vars\k8s_cluster и запускаете апдейт.

ansible-playbook upgrade.yaml

Сервисные функции

Сервисные функции находятся в директории services

About

Playbook для развертывания тестового кластер kubernetes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jinja 100.0%