mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 12:03:59 +00:00
- Rename host mount namespace from /prole/d00x to /synology/d00x - Make LUN ownership explicit per host in inventory (myrddin=d001; merlin=d002,d004; pi=d003) - Add safe migration cleanup for legacy /prole/d00x mounts and stale /etc/fstab entries - Update k3s/ArgoCD/OpenTofu manifests and PV node affinities to match new mount paths - Improve iSCSI role check-mode behavior and add quiesce/detach flow in ansible.sh
118 lines
3.7 KiB
YAML
118 lines
3.7 KiB
YAML
iscsi_portal: 10.0.0.203
|
|
|
|
iscsi_targets:
|
|
# PROLE-DATA-1
|
|
- iqn: "iqn.2000-01.com.synology:synology.Target-11.292d45194a1"
|
|
chap_user: "prole"
|
|
chap_password: "{{ vault_iscsi_prole_password }}"
|
|
mounts:
|
|
- path: /synology/d001
|
|
fstype: xfs
|
|
opts: "_netdev,noatime"
|
|
src: "UUID=c07dc0f2-cf60-4da5-b68e-ea45e86d473e"
|
|
|
|
# PROLE-HOME
|
|
- iqn: "iqn.2000-01.com.synology:synology.Target-17.292d45194a1"
|
|
chap_user: "prole"
|
|
chap_password: "{{ vault_iscsi_prole_password }}"
|
|
mounts:
|
|
- path: /prole/home
|
|
fstype: ext4
|
|
opts: "_netdev,noatime"
|
|
src: "UUID=607718c8-467a-474f-8e36-80ceafe1beb4"
|
|
|
|
# PROLE-LOGS
|
|
- iqn: "iqn.2000-01.com.synology:synology.Target-1.292d45194a1"
|
|
chap_user: "prole"
|
|
chap_password: "{{ vault_iscsi_prole_password }}"
|
|
mounts:
|
|
- path: /prole/logs
|
|
fstype: ext4
|
|
opts: "_netdev,noatime"
|
|
src: "UUID=5335affd-b1ab-4134-a1c0-be88ab965309"
|
|
|
|
iscsi_absent_mounts:
|
|
- /opt/prole/logs/chrisfu
|
|
# Migration cleanup: PROLE-DATA-2/3 are moving off myrddin
|
|
- /prole/d002
|
|
- /prole/d003
|
|
- /synology/d002
|
|
- /synology/d003
|
|
|
|
# Migration cleanup: ensure myrddin fully logs out of LUNs that are moving to other hosts
|
|
iscsi_absent_targets:
|
|
# PROLE-DATA-2
|
|
- "iqn.2000-01.com.synology:synology.Target-12.292d45194a1"
|
|
# PROLE-DATA-3
|
|
- "iqn.2000-01.com.synology:synology.Target-13.292d45194a1"
|
|
|
|
ad_dc_enabled: true
|
|
|
|
k3s_enabled: true
|
|
k3s_cluster_init: false
|
|
k3s_role: server
|
|
|
|
# K3s state storage (local)
|
|
# `/var/lib/rancher` is now backed by a locally attached USB3 SSD on myrddin.
|
|
# Shared/iSCSI storage remains reserved for `/prole/*` data paths.
|
|
k3s_rancher_mountpoint: /var/lib/rancher
|
|
k3s_rancher_storage_class: local_usb3_ssd
|
|
|
|
# Guardrail: `/var/lib/rancher` must be a dedicated mount (external SSD) and k3s
|
|
# must never start if it resolves to the same backing device as `/`.
|
|
k3s_rancher_mount_required: true
|
|
k3s_rancher_mount_src: "UUID=2e457f8f-fc85-48e7-a7fc-29aad0059268"
|
|
k3s_rancher_mount_fstype: ext4
|
|
k3s_rancher_mount_opts: "noatime"
|
|
k3s_rancher_mount_passno: 2
|
|
k3s_token: "{{ vault_k3s_token | default('') }}" # store this in vault
|
|
k3s_datastore_mariadb_host: 10.0.0.6
|
|
k3s_datastore_mariadb_port: 3306
|
|
k3s_datastore_mariadb_db: k3s
|
|
k3s_datastore_mariadb_user: prole_k3s
|
|
# Password is the same as the Samba administrator password and must remain in Ansible Vault.
|
|
k3s_datastore_mariadb_password: "{{ vault_samba_dns_admin_pass }}"
|
|
k3s_datastore_endpoint: "mysql://{{ k3s_datastore_mariadb_user }}:{{ k3s_datastore_mariadb_password | urlencode }}@tcp({{ k3s_datastore_mariadb_host }}:{{ k3s_datastore_mariadb_port }})/{{ k3s_datastore_mariadb_db }}"
|
|
k3s_tls_sans:
|
|
- myrddin.prole.org
|
|
k3s_service_node_labels:
|
|
- "prole.org/node-role=db"
|
|
- "prole.org/role=control"
|
|
|
|
# Keep general workloads off the control-plane node; allow only explicitly-tolerating pods.
|
|
k3s_node_taints:
|
|
- "node-role.kubernetes.io/control-plane:NoSchedule"
|
|
|
|
# More forgiving IO/etcd timeouts to reduce error-correction churn on slow storage
|
|
k3s_kube_apiserver_args:
|
|
- "request-timeout=60s"
|
|
- "min-request-timeout=60"
|
|
|
|
k3s_kube_controller_manager_args:
|
|
- "leader-elect-lease-duration=600s"
|
|
- "leader-elect-renew-deadline=420s"
|
|
- "leader-elect-retry-period=60s"
|
|
- "node-monitor-grace-period=10m"
|
|
- "node-startup-grace-period=10m"
|
|
|
|
k3s_kube_scheduler_args:
|
|
- "leader-elect-lease-duration=600s"
|
|
- "leader-elect-renew-deadline=420s"
|
|
- "leader-elect-retry-period=60s"
|
|
|
|
k3s_cloud_controller_manager_args:
|
|
- "leader-elect-lease-duration=900s"
|
|
- "leader-elect-renew-deadline=600s"
|
|
- "leader-elect-retry-period=90s"
|
|
|
|
k3s_kubelet_args:
|
|
- "housekeeping-interval=30s"
|
|
|
|
k3s_write_kubeconfig_mode: "0640"
|
|
k3s_kubeconfig_group: kubeadm
|
|
k3s_kubeconfig_users:
|
|
- pi
|
|
|
|
k3s_required_mounts:
|
|
- /synology/d001
|