refactor: bootstrap использует cluster_service_users вместо отдельного ansible-пользователя
Проблема: bootstrap создавал отдельного пользователя ansible (k3s_admin_user),
хотя у нас уже есть cluster_service_users с k8s и devops.
Решение:
- k3s_admin_user: devops (один из cluster_service_users, не отдельный пользователь)
- bootstrap phase 1: создаёт ВСЕХ пользователей из cluster_service_users через k8s-user role
- bootstrap phase 2: деплоит SSH ключ Ansible runner только в authorized_keys k3s_admin_user
- roles/bootstrap/tasks/main.yml: удалено создание пользователя/группы/sudoers (теперь в k8s-user)
- roles/bootstrap/defaults/main.yml: удалены k3s_admin_shell/comment/groups (не нужны)
- добавлена проверка: k3s_admin_user должен быть в cluster_service_users (assert)
group_vars/all/main.yml:
- ansible_user: "{{ k3s_admin_user }}" — все playbooks подключаются как k3s_admin_user
- ansible_ssh_private_key_file: "~/.ssh/id_rsa"
- k3s_admin_ssh_additional_keys: [] — для нескольких инженеров через vault
inventory/hosts.ini:
- убраны ansible_user=ubuntu с каждого хоста (теперь в group_vars)
- убран ansible_ssh_private_key_file из group vars (теперь в group_vars/all/main.yml)
This commit is contained in:
@@ -59,16 +59,24 @@ k3s_common_packages:
|
||||
- tcpdump
|
||||
- traceroute
|
||||
|
||||
# ─── Bootstrap (первичная настройка нод) ──────────────────────────────────────
|
||||
# Пользователь, который создаётся при make bootstrap и используется для деплоя
|
||||
k3s_admin_user: ansible
|
||||
k3s_admin_shell: /bin/bash
|
||||
# ─── Bootstrap — первичная настройка нод ─────────────────────────────────────
|
||||
# k3s_admin_user — ДОЛЖЕН быть одним из cluster_service_users.
|
||||
# Используется для SSH-подключений Ansible после bootstrap.
|
||||
# Пользователь создаётся bootstrap'ом через роль k8s-user.
|
||||
k3s_admin_user: devops
|
||||
|
||||
# Файл SSH публичного ключа внутри контейнера (из примонтированного ~/.ssh)
|
||||
# После bootstrap все playbook подключаются как k3s_admin_user
|
||||
ansible_user: "{{ k3s_admin_user }}"
|
||||
ansible_ssh_private_key_file: "~/.ssh/id_rsa"
|
||||
|
||||
# SSH публичный ключ Ansible-машины (монтируется в контейнер из ~/.ssh)
|
||||
k3s_admin_ssh_public_key_files:
|
||||
- /root/.ssh/id_ed25519.pub
|
||||
|
||||
# Отключить пароль SSH после деплоя ключа
|
||||
# Дополнительные публичные ключи строками (для нескольких инженеров, из vault)
|
||||
k3s_admin_ssh_additional_keys: []
|
||||
|
||||
# Отключить SSH вход по паролю после деплоя ключа (рекомендуется в prod)
|
||||
k3s_admin_disable_password_auth: false
|
||||
|
||||
# Адрес для подключения новых нод — по умолчанию первый мастер (для initial install).
|
||||
|
||||
Reference in New Issue
Block a user