k8s_join

freehck.k8s_join

Присоединение узлов к кластеру Kubernetes

Описание

Эта роль применяется ко всем узлам и мастер-узлу Kubernetes. У мастер-узла должно быть установлено k8s_join_is_master в значение true.

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

k8s_join_command_filename: Имя файла для хранения токена/команды авторизации, по умолчанию k8s-join-command

k8s_join_is_master: Этот логический флаг должен быть установлен в true только для одного конкретного хоста в кластере Kubernetes, который является мастер-узлом; по умолчанию false

Пример

inventory
k8s-node-0 ansible_host=10.118.19.10 k8s_is_master=true
k8s-node-1 ansible_host=10.118.19.11
k8s-node-2 ansible_host=10.118.19.12

[k8s_cluster]
k8s-node-0
k8s-node-1
k8s-node-2
playbook.yml
- hosts: k8s_cluster
  become: true
  vars:
    # общие параметры
    k8s_ver: "1.16.2-00"
    k8s_node_ip: "{{ ansible_host }}"
    # k8s_base — это неявная зависимость
    k8s_base_node_ip: "{{ k8s_node_ip }}"
    k8s_base_ver: "{{ k8s_ver }}"
    # k8s_init — это неявная зависимость
    k8s_init_cidr: "192.168.0.0/16"
    k8s_init_node_ip: "{{ ansible_host }}"
    k8s_init_node_name: "{{ inventory_hostname }}"
    # конфигурация этой роли
    k8s_join_is_master: "{{ k8s_is_master | default('false') }}"
  roles:
    - role: freehck.k8s_base
    - role: freehck.k8s_init
      when: k8s_join_is_master
    - role: freehck.k8s_join

Примечания

Как видно из примера, эта роль предназначена для применения как к мастер-узлу, так и к узлам Kubernetes. На мастер-узле эта роль генерирует токен авторизации и сохраняет его в файл на контроллере ansible. Не коммитьте этот файл, он истечет через некоторое время! Затем на узлах этот токен используется для присоединения к кластеру.

Установка

Эту роль можно установить из Ansible Galaxy:

ansible-galaxy install freehck.k8s_join

Лицензия

MIT

Информация об авторе

Дмитрий Кашин, freehck@freehck.ru

О проекте

join nodes to kubernetes cluster

Установить
ansible-galaxy install freehck/ansible-role-k8s-join
Лицензия
Unknown
Загрузки
224
Владелец