feat: добавлены роли mdadm и k8s-user с полной оркестрацией SSH ключей
Роль mdadm: - автоопределение RAID массива через mdadm --detail --scan - монтирование в /storage через fstab (UUID-based, nofail) - автоопределение fstype через blkid - обновление mdadm.conf + initramfs - флаг mdadm_enabled для отключения на отдельных нодах Роль k8s-user: - создание пользователя k8s + группа + sudo без пароля (visudo validation) - генерация RSA 4096 ключевой пары на первом мастере (идемпотентно, creates:) - раскладка приватного и публичного ключа на все ноды кластера - добавление public key в authorized_keys — SSH с любой ноды на любую - обновление /etc/hosts блоками через blockinfile (k3s_cluster + lab_hosts) - поддержка lab_hosts: создание пользователя и деплой ключей через пароль из vault Плейбуки: - k8s-user.yml — полная оркестрация (5 plays: create → generate → distribute → hosts → lab) - mdadm.yml — запуск роли mdadm на k3s_cluster Инфраструктура: - inventory: добавлена группа [lab_hosts] с примерами - host_vars/nas01/vault.yml.example — шаблон credentials для лаб-серверов - group_vars/all/main.yml: переменные mdadm_enabled и k8s_service_user_* - Makefile: цели k8s-user и mdadm - docker/entrypoint.sh: команды k8s-user и mdadm
This commit is contained in:
18
host_vars/nas01/vault.yml.example
Normal file
18
host_vars/nas01/vault.yml.example
Normal file
@@ -0,0 +1,18 @@
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# Bootstrap credentials для лабораторного сервера nas01
|
||||
# Используются при ansible-playbook k8s-user.yml для создания k8s пользователя
|
||||
# и деплоя SSH ключей через пароль (без предварительного SSH ключа)
|
||||
#
|
||||
# Для создания зашифрованного файла:
|
||||
# cp host_vars/nas01/vault.yml.example host_vars/nas01/vault.yml
|
||||
# ansible-vault encrypt host_vars/nas01/vault.yml
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
# Начальный пользователь на сервере (root, admin, ubuntu, и т.д.)
|
||||
bootstrap_user: root
|
||||
|
||||
# SSH пароль этого пользователя
|
||||
bootstrap_password: "замени-на-реальный-пароль"
|
||||
|
||||
# Sudo пароль (если отличается от bootstrap_password, иначе можно не указывать)
|
||||
# bootstrap_sudo_password: "другой-пароль"
|
||||
Reference in New Issue
Block a user