Files
K3S/inventory/hosts.ini
Sergey Antropoff 07fdc9a994 feat: добавить аддон splitgw — прозрачный split-tunnel gateway (sing-box + Hysteria2 TPROXY)
- Роль: defaults, tasks (main/deploy-host/deploy-k8s), handlers, templates (sing-box config, iptables setup/teardown, systemd, K8s DaemonSet/ConfigMap/Secret)
- Режимы: systemd (host) и K8s DaemonSet с hostNetwork + privileged init-container
- Маршрутизация: YouTube/Google → Hysteria2, RU (geoip/geosite) → прямой, остальное → прямой
- DNS без утечек: protocol=dns перехватывается TPROXY, per-domain DNS серверы
- Интеграция: inventory [splitgw], addons.yml flag, Makefile target, playbooks/addons.yml
- Документация: README.md, docs/addons.md, README.md (счётчик 36)
2026-04-26 06:56:17 +03:00

71 lines
5.1 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ─────────────────────────────────────────────────────────────────────────────
# 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
# ─────────────────────────────────────────────────────────────────────────────
[k3s_master]
master01 ansible_host=192.168.1.10
worker01 ansible_host=192.168.1.11
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
# NFS сервер — по умолчанию master, но можно вынести на отдельную машину
[nfs_server]
master01
# Если NFS на отдельной машине — закомментируй строку выше и раскомментируй:
# nfshost ansible_host=192.168.1.20
# ───────────────────────────────────────────────<E29480><E29480>─────────────────────────────
# Внешний 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