kubernetes
Роль Ansible: Kubernetes
Роль для установки менеджера контейнерного кластера Kubernetes.
Требования
Ansible Core >= 2.12
Линукс дистрибутив
Семейство Debian
Ubuntu
- Bionic (18.04)
- Focal (20.04)
Переменные роли
Следующие переменные изменят поведение этой роли (значения по умолчанию показаны ниже):
# Тип узла: определяет, какие функции будут установлены.
# - контроллер:
# - kubectl
# - рабочий:
# - kubelet
# - kubernetes-cni
# - мастер:
# - kubelet
# - kubectl
# - kubernetes-cni
# - администратор:
# - kubelet
# - kubectl
# - kubeadm
# - kubernetes-cni
kubernetes_node_type: worker
# ID APT ключа для репозитория Kubernetes (необязательно)
kubernetes_apt_key_id:
Пример Playbook
- hosts: servers
roles:
- role: gantsign.kubernetes
kubernetes_node_type: worker
Автозаполнение и псевдонимы для Zsh
Используя Ansible
Рекомендуется использовать роль gantsign.antigen для включения поддержки Zsh для Kubernetes (это необходимо настраивать для каждого пользователя).
- hosts: servers
roles:
- role: gantsign.kubernetes
kubernetes_node_type: worker
- role: gantsign.antigen
users:
- username: example
antigen_libraries:
- name: oh-my-zsh
antigen_bundles:
# Используйте плагин Oh My Zsh для kubectl
- name: kubectl
# Используйте плагин GantSign для kubeadm
- name: kubeadm
url: gantsign/zsh-plugins
location: kubeadm
Используя Antigen
Если вы предпочитаете использовать Antigen напрямую, добавьте следующее в вашу конфигурацию Antigen:
antigen use oh-my-zsh
antigen bundle kubectl
antigen bundle gantsign/zsh-plugins kubeadm
Важно: есть ошибка в текущей версии Antigen, которая мешает работе плагина kubectl
. Рекомендуем использовать версию 2.0.2
Antigen, пока проблема не будет решена.
Ручная настройка
Чтобы вручную настроить автозаполнение в Zsh, добавьте следующее в ваш .zshrc
:
eval "$(kubectl completion zsh)"
eval "$(kubeadm completion zsh)"
Больше ролей от GantSign
Вы можете найти больше ролей от GantSign на Ansible Galaxy.
Разработка и тестирование
Этот проект использует следующие инструменты:
- Molecule для организации тестовых сценариев
- Testinfra для тестирования изменений на удаленном сервере
- pytest - тестовый фреймворк
- Tox управляет виртуальными окружениями Python для линтинга и тестирования
- pip-tools для управления зависимостями
Предоставляется контейнер для разработки Visual Studio Code для разработки и тестирования этой роли.
Лицензия
MIT
Информация об авторе
Джон Фриман
GantSign Ltd. Регистрационный номер 06109112 (зарегистрировано в Англии)
Role for installing Kubernetes.
ansible-galaxy install gantsign/ansible-role-kubernetes