- group_vars/all/main.yml: пояснения к глобальным настройкам K3S, сети, CNI, kube-vip, chrony, ротации сертификатов, сервисным пользователям и пакетам. - group_vars/all/addons.yml: комментарии над флагами addon_* и активными блоками (NFS, CSI NFS, ingress-nginx, cert-manager, Databasus, MinIO, etcd backup и др.); исправлена битая строка-разделитель в секции Gitea Actions. - group_vars/all/vault.yml.example: описание назначения каждого секрета. - host_vars (master01, worker01, rpi01): пояснения к labels, taints и k3s_extra_server_args. - inventory/hosts.ini: комментарии к группам и строкам нод, пояснение nfs_server; исправлена повреждённая линия-разделитель. - addons/*/role/defaults/main.yml: русские комментарии над переменными (в т.ч. Harbor, Authelia, Istio, Prometheus, Vault, Jenkins, DNS-аддоны и др.). - addons/csi-nfs/role/defaults/main.yml: исправлено имя csi_nfs_reclaim_policy (опечатка с кириллической «М» в имени ключа). Рабочий vault.yml не менялся (секреты / ansible-vault).
78 lines
5.7 KiB
INI
78 lines
5.7 KiB
INI
# ─────────────────────────────────────────────────────────────────────────────
|
||
# K3S HA кластер — inventory
|
||
# Мастера: k3s server с embedded etcd (участвуют в Raft-кворуме)
|
||
# Воркеры: k3s agent — только рабочие ноды, без etcd
|
||
#
|
||
# ansible_user НЕ указывается здесь — он берётся из group_vars:
|
||
# k3s_admin_user: devops → ansible_user: "{{ k3s_admin_user }}"
|
||
# Bootstrap подключается с паролем из host_vars/<node>/vault.yml
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
#
|
||
# Секции ниже задают группы; у каждой ноды — inventory_hostname и IP для SSH.
|
||
|
||
# Control-plane: все embedded-etcd + api-server; первый в списке = cluster-init при первом install
|
||
[k3s_master]
|
||
# primary master (cluster-init) — x86, NFS, основная нагрузка
|
||
master01 ansible_host=192.168.1.10
|
||
# второй master (join по VIP)
|
||
worker01 ansible_host=192.168.1.11
|
||
# третий master, ARM, с taint NoSchedule в host_vars
|
||
rpi01 ansible_host=192.168.1.12 ansible_python_interpreter=/usr/bin/python3
|
||
|
||
# Дополнительные мастера — добавляй сюда:
|
||
# master04 ansible_host=192.168.1.14
|
||
|
||
[k3s_workers]
|
||
# Чистые воркеры (только k3s agent, без etcd) — добавляй сюда:
|
||
# worker04 ansible_host=192.168.1.14
|
||
# worker05 ansible_host=192.168.1.15
|
||
|
||
[k3s_cluster:children]
|
||
k3s_master
|
||
k3s_workers
|
||
|
||
# Нода(ы) с export NFS для CSI; rоль nfs-server плейбука исполняется на этой группе
|
||
[nfs_server]
|
||
# по умолчанию — тот же хост, что и master01; можно вынести на отдельный сервер
|
||
master01
|
||
|
||
# Если NFS на отдельной машине — закомментируй строку выше и раскомментируй:
|
||
# nfshost ansible_host=192.168.1.20
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Внешний etcd кластер (используется только когда k3s_etcd_type: external)
|
||
# Может быть на любых серверах — не обязательно мастерах.
|
||
# Рекомендуется нечётное кол-во нод для кворума: 1, 3, 5
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
[etcd_nodes]
|
||
# etcd01 ansible_host=192.168.1.30
|
||
# etcd02 ansible_host=192.168.1.31
|
||
# etcd03 ansible_host=192.168.1.32
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Лабораторные серверы (не входят в k3s кластер)
|
||
# Используются для: распределения SSH ключей k8s пользователя, /etc/hosts
|
||
# Подключение: через bootstrap_user/bootstrap_password из host_vars/<host>/vault.yml
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
[lab_hosts]
|
||
# nas01 ansible_host=192.168.1.30
|
||
# devbox ansible_host=192.168.1.31
|
||
# proxy01 ansible_host=192.168.1.32
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Hysteria2 VPN сервер (удалённый VPS — НЕ часть k3s кластера)
|
||
# Используется аддоном: make addon-hysteria2-server
|
||
# Подключение: SSH ключ (рекомендуется) или make addon-hysteria2-server ARGS="-k"
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
[hysteria2_server]
|
||
# myvps ansible_host=1.2.3.4 ansible_user=root
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# Split Gateway — прозрачный прокси на основе sing-box + Hysteria2 (TPROXY)
|
||
# YouTube → Hysteria2, RU-сервисы → прямой маршрут, всё остальное → прямой
|
||
# Используется аддоном: make addon-splitgw
|
||
# Пометить ноду для k8s-режима: kubectl label node <node> splitgw=true
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
[splitgw]
|
||
# gateway01 ansible_host=192.168.1.50
|