refactor: перемещение плейбуков в playbooks/, ротация сертификатов, сохранение ключей локально
Организация плейбуков: - все .yml плейбуки перенесены из корня в playbooks/ - Makefile и entrypoint.sh обновлены — все пути с playbooks/ префиксом - k8s-user.yml переработан: include_tasks → include_role (корректная работа из подкаталога) Сохранение ключей и kubeconfig локально: - k8s-user.yml: новый play сохраняет k8s SSH ключи в ./keys/ на машине запуска - переменная k8s_local_keys_dir: "./keys" (настраивается в group_vars) - .gitignore: keys/k8s_id_rsa исключён (публичный ключ можно коммитить) - kubeconfig уже сохранялся роль k3s (k3s_kubeconfig_local_path: "./kubeconfig") Автоматическая ротация сертификатов K3S (роль k3s-certs): - K3S выпускает сертификаты на 1 год (hardcoded), таймер обеспечивает их обновление - скрипт k3s-cert-check.sh: проверяет срок через openssl, ротирует при k3s_cert_rotate_before_days - systemd service + timer: запуск по расписанию k3s_cert_check_schedule (по умолчанию monthly) - RandomizedDelaySec: снижает нагрузку при одновременном запуске на нескольких нодах - переменные: k3s_cert_validity_years: 5, k3s_cert_rotate_before_days: 90 - добавлен в site.yml (тег certs) и отдельный плейбук playbooks/k3s-certs.yml - make k3s-certs и команда k3s-certs в entrypoint.sh
This commit is contained in:
@@ -206,3 +206,23 @@ k8s_service_user_key_bits: 4096
|
||||
k8s_service_user_key_comment: "k8s@cluster"
|
||||
k8s_service_user_ssh_dir: ".ssh"
|
||||
k8s_service_user_sudo: true
|
||||
|
||||
# Локальная директория для сохранения сгенерированных SSH ключей k8s пользователя
|
||||
# Сохраняется на машине запуска Ansible (./keys/ относительно корня проекта)
|
||||
k8s_local_keys_dir: "./keys"
|
||||
|
||||
# ─── k3s-certs — автоматическая ротация сертификатов K3S ─────────────────────
|
||||
# K3S выпускает сертификаты с фиксированным сроком жизни 1 год.
|
||||
# Systemd таймер обеспечивает автоматическое обновление до истечения срока,
|
||||
# гарантируя желаемый срок жизни кластера без ручного вмешательства.
|
||||
k3s_cert_auto_rotate: true
|
||||
|
||||
# Желаемый срок жизни кластера без ручного вмешательства (в годах)
|
||||
k3s_cert_validity_years: 5
|
||||
|
||||
# Ротация запускается, когда до истечения сертификата остаётся меньше N дней
|
||||
k3s_cert_rotate_before_days: 90
|
||||
|
||||
# Расписание проверки (формат systemd OnCalendar): monthly, weekly, daily
|
||||
# или конкретный формат: "*-*-1 03:00:00" (1-е число каждого месяца)
|
||||
k3s_cert_check_schedule: "monthly"
|
||||
|
||||
Reference in New Issue
Block a user