first commit
This commit is contained in:
125
group_vars/all/main.yml
Normal file
125
group_vars/all/main.yml
Normal file
@@ -0,0 +1,125 @@
|
||||
---
|
||||
# ─── K3S ──────────────────────────────────────────────────────────────────────
|
||||
k3s_version: "v1.29.3+k3s1"
|
||||
|
||||
# Токен из vault (создай group_vars/all/vault.yml)
|
||||
k3s_token: "{{ vault_k3s_token }}"
|
||||
|
||||
k3s_install_dir: /usr/local/bin
|
||||
k3s_config_dir: /etc/rancher/k3s
|
||||
k3s_data_dir: /var/lib/rancher/k3s
|
||||
|
||||
k3s_cluster_cidr: "10.42.0.0/16"
|
||||
k3s_service_cidr: "10.43.0.0/16"
|
||||
k3s_cluster_dns: "10.43.0.10"
|
||||
|
||||
k3s_flannel_backend: "vxlan"
|
||||
|
||||
# CNI плагин: flannel (встроен в k3s) | calico | cilium
|
||||
# При calico/cilium — Flannel автоматически отключается в конфиге k3s
|
||||
k3s_cni: "flannel"
|
||||
|
||||
# Traefik ДОЛЖЕН быть отключён если используется ingress-nginx
|
||||
k3s_disable_traefik: true
|
||||
k3s_disable_servicelb: false
|
||||
k3s_disable_local_storage: false
|
||||
|
||||
k3s_node_labels: []
|
||||
k3s_node_taints: []
|
||||
k3s_extra_server_args: ""
|
||||
k3s_extra_agent_args: ""
|
||||
k3s_become: true
|
||||
|
||||
# ─── kube-vip ─────────────────────────────────────────────────────────────────
|
||||
# ОБЯЗАТЕЛЬНО: задай свободный IP из твоей подсети, не занятый DHCP!
|
||||
kube_vip_address: "192.168.1.100"
|
||||
|
||||
# Сетевой интерфейс на master-ноде.
|
||||
# Оставь пустым — Ansible автоопределит через ansible_default_ipv4.interface.
|
||||
# Переопредели если нужно принудительно: kube_vip_interface: "eth0"
|
||||
kube_vip_interface: ""
|
||||
|
||||
kube_vip_version: "v0.8.3"
|
||||
kube_vip_mode: "arp" # arp (L2) | bgp (L3)
|
||||
kube_vip_services_enable: true # также обрабатывает LoadBalancer Services
|
||||
|
||||
# ─── NFS Server ───────────────────────────────────────────────────────────────
|
||||
nfs_exports:
|
||||
- path: /srv/nfs/k8s
|
||||
options: "*(rw,sync,no_subtree_check,no_root_squash)"
|
||||
|
||||
nfs_allowed_network: "192.168.1.0/24"
|
||||
nfs_create_export_dirs: true
|
||||
nfs_export_dir_mode: "0777"
|
||||
nfs_export_dir_owner: "nobody"
|
||||
nfs_export_dir_group: "nogroup"
|
||||
|
||||
# ─── CSI NFS Driver ───────────────────────────────────────────────────────────
|
||||
csi_nfs_version: "v4.8.0"
|
||||
csi_nfs_namespace: "kube-system"
|
||||
|
||||
# IP NFS сервера — по умолчанию берётся master нода
|
||||
# Если NFS на отдельном хосте: csi_nfs_server: "192.168.1.20"
|
||||
csi_nfs_server: "{{ hostvars[groups['k3s_master'][0]]['ansible_host'] }}"
|
||||
csi_nfs_share: "/srv/nfs/k8s"
|
||||
|
||||
# StorageClass именуется по hostname NFS сервера: nfs-master01, nfs-storage01, …
|
||||
# Переопредели только если нужно другое имя.
|
||||
csi_nfs_storageclass_default: true
|
||||
csi_nfs_reclaim_policy: "Delete" # Delete | Retain
|
||||
csi_nfs_on_delete: "delete" # delete | retain | archive
|
||||
csi_nfs_install_client: true
|
||||
|
||||
# ─── ingress-nginx ────────────────────────────────────────────────────────────
|
||||
ingress_nginx_version: "4.10.1"
|
||||
ingress_nginx_namespace: "ingress-nginx"
|
||||
|
||||
# LoadBalancer получит IP от kube-vip
|
||||
ingress_nginx_service_type: "LoadBalancer"
|
||||
|
||||
# Конкретный IP из пула kube-vip (оставь "" для автоматического)
|
||||
ingress_nginx_load_balancer_ip: ""
|
||||
|
||||
ingress_nginx_replica_count: 1
|
||||
ingress_nginx_use_daemonset: false
|
||||
ingress_nginx_metrics_enabled: false
|
||||
ingress_nginx_class_name: "nginx"
|
||||
ingress_nginx_set_default_class: true
|
||||
|
||||
ingress_nginx_resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 90Mi
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 256Mi
|
||||
|
||||
ingress_nginx_extra_args: {}
|
||||
|
||||
# ─── Istio (Service Mesh) ──────────────────────────────────────────────────────
|
||||
# Установка по желанию: поменяй на true чтобы включить
|
||||
istio_enabled: false
|
||||
# istio_version: "1.22.2"
|
||||
# istio_mtls_mode: "STRICT" # STRICT | PERMISSIVE | DISABLE
|
||||
# istio_install_gateway: true
|
||||
|
||||
# Kiali (UI для Istio) — требует istio_enabled: true
|
||||
# Токен задаётся в vault.yml:
|
||||
# vault_kiali_token: "" # заполни после первой установки (токен выведет Ansible)
|
||||
kiali_enabled: false
|
||||
|
||||
# ─── kube-prometheus-stack (Prometheus + Grafana + Alertmanager) ───────────────
|
||||
# Установка по желанию: поменяй на true чтобы включить
|
||||
prometheus_stack_enabled: false
|
||||
# prometheus_stack_version: "60.3.0"
|
||||
# prometheus_retention_days: 7
|
||||
# prometheus_storage_size: "10Gi"
|
||||
|
||||
# Grafana: логин и пароль — задай в vault.yml:
|
||||
# vault_grafana_user: "admin"
|
||||
# vault_grafana_password: "ваш-пароль"
|
||||
# grafana_admin_user: "{{ vault_grafana_user | default('admin') }}"
|
||||
# prometheus_grafana_admin_password: "{{ vault_grafana_password | default('admin') }}"
|
||||
|
||||
# prometheus_grafana_ingress_enabled: false
|
||||
# prometheus_grafana_ingress_host: "grafana.local"
|
||||
14
group_vars/all/vault.yml.example
Normal file
14
group_vars/all/vault.yml.example
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
# Секретные переменные — шифруй через ansible-vault!
|
||||
#
|
||||
# Создание зашифрованного файла:
|
||||
# ansible-vault create group_vars/all/vault.yml
|
||||
#
|
||||
# Редактирование:
|
||||
# ansible-vault edit group_vars/all/vault.yml
|
||||
#
|
||||
# Запуск плейбука с vault:
|
||||
# ansible-playbook site.yml --ask-vault-pass
|
||||
# ansible-playbook site.yml --vault-password-file ~/.vault_pass
|
||||
|
||||
vault_k3s_token: "ЗАМЕНИ_НА_НАДЁЖНЫЙ_СЕКРЕТНЫЙ_ТОКЕН_МИН_32_СИМВОЛА"
|
||||
Reference in New Issue
Block a user