Как поднять Kubernetes через Ansible?
Answer from AI
sobes.tech AI
Для поднятия Kubernetes с помощью Ansible обычно создаётся плейбук, который автоматизирует установку и настройку компонентов кластера на целевых серверах. Основные шаги:
-
Подготовка инвентаря — список хостов, разделённых на группы (например, master, worker).
-
Установка зависимостей — установка Docker или другого контейнерного рантайма, необходимых пакетов.
-
Установка kubeadm, kubelet, kubectl — установка основных инструментов Kubernetes.
-
Инициализация кластера на master-ноде — запуск
kubeadm initс нужными параметрами. -
Настройка сети — установка сетевого плагина (например, Calico, Flannel).
-
Присоединение worker-нод к кластеру — выполнение
kubeadm joinна воркерах.
Пример упрощённого фрагмента Ansible playbook для установки kubeadm на всех нодах:
- hosts: all
become: yes
tasks:
- name: Установка Docker
apt:
name: docker.io
state: present
- name: Добавление репозитория Kubernetes
apt_repository:
repo: 'deb http://apt.kubernetes.io/ kubernetes-xenial main'
state: present
- name: Установка kubeadm, kubelet, kubectl
apt:
name:
- kubeadm
- kubelet
- kubectl
state: present
update_cache: yes
- name: Отключение swap
command: swapoff -a
when: ansible_swaptotal_mb > 0
# Далее отдельный плейбук или таски для инициализации master и join worker
Для более сложных сценариев можно использовать готовые роли, например, из Ansible Galaxy (geerlingguy.kubernetes), которые покрывают весь процесс с настройками и оптимизациями.