From a4a68eeb5a0c27d6f1a81486387dc18a89b67bf9 Mon Sep 17 00:00:00 2001 From: Ryan Blundon Date: Thu, 18 Jun 2026 23:01:40 -0500 Subject: [PATCH] updated talos config for iscsi --- talos/talhelper/talconfig.yaml | 79 ++++++++++++++++++++++++ talos/talhelper/worker-rolling-reboot.sh | 19 ++++++ 2 files changed, 98 insertions(+) create mode 100755 talos/talhelper/worker-rolling-reboot.sh diff --git a/talos/talhelper/talconfig.yaml b/talos/talhelper/talconfig.yaml index 617c4f1..d42ee27 100644 --- a/talos/talhelper/talconfig.yaml +++ b/talos/talhelper/talconfig.yaml @@ -81,6 +81,12 @@ patches: # ─── Control plane patches ─────────────────────────────────────────────────── controlPlane: + schematic: + customization: + systemExtensions: + officialExtensions: + - siderolabs/qemu-guest-agent + patches: - |- cluster: @@ -105,6 +111,67 @@ controlPlane: vip: ip: 10.1.71.65 +# ─── Worker patches ────────────────────────────────────────────────────────── +worker: + schematic: + customization: + systemExtensions: + officialExtensions: + - siderolabs/qemu-guest-agent + - siderolabs/util-linux-tools + - siderolabs/iscsi-tools + + patches: + - |- + machine: + kernel: + modules: + - name: iscsi_tcp + - name: dm_multipath + + kubelet: + extraMounts: + # iSCSI initiator data directory + - destination: /etc/iscsi + type: bind + source: /etc/iscsi + options: + - bind + - rshared + - destination: /var/lib/iscsi + type: bind + source: /var/lib/iscsi + options: + - bind + - rshared + + sysctls: + net.ipv4.conf.all.arp_announce: "2" + net.ipv4.conf.all.arp_ignore: "1" + # files: + # - content: | + # defaults { + # polling_interval 10 + # } + # devices { + # device { + # vendor "PURE" + # product "FlashArray" + # path_selector "queue-length 0" + # path_grouping_policy group_by_prio + # prio alua + # path_checker tur + # fast_io_fail_tmo 10 + # user_friendly_names no + # no_path_retry 0 + # hardware_handler "1 alua" + # dev_loss_tmo 600 + # failback immediate + # } + # } + # path: /etc/multipath.conf + # op: create + # ─── Nodes ─────────────────────────────────────────────────────────────────── nodes: # ── Control plane ────────────────────────────────────────────────────────── @@ -166,6 +233,10 @@ nodes: - network: 0.0.0.0/0 gateway: 10.1.71.1 dhcp: false + - interface: ens19 # iSCSI storage network + addresses: + - 10.1.75.69/24 + dhcp: false - hostname: haunted-mansion ipAddress: 10.1.71.70 @@ -179,6 +250,10 @@ nodes: - network: 0.0.0.0/0 gateway: 10.1.71.1 dhcp: false + - interface: ens19 # iSCSI storage network + addresses: + - 10.1.75.70/24 + dhcp: false - hostname: peter-pans-flight ipAddress: 10.1.71.71 @@ -192,3 +267,7 @@ nodes: - network: 0.0.0.0/0 gateway: 10.1.71.1 dhcp: false + - interface: ens19 # iSCSI storage network + addresses: + - 10.1.75.71/24 + dhcp: false diff --git a/talos/talhelper/worker-rolling-reboot.sh b/talos/talhelper/worker-rolling-reboot.sh new file mode 100755 index 0000000..ed9b513 --- /dev/null +++ b/talos/talhelper/worker-rolling-reboot.sh @@ -0,0 +1,19 @@ +#!/bin/bash +declare -A WORKERS=( + ["jungle-cruise"]="10.1.71.69" +) + +for worker in "${!WORKERS[@]}"; do + ip="${WORKERS[$worker]}" + echo "Applying config to $worker ($ip)..." + talosctl apply-config --nodes ${ip} \ + --file clusterconfig/fastpass-${worker}.yaml --mode=reboot + + echo "Waiting for $worker to be Ready..." + kubectl wait --for=condition=Ready node/${worker} --timeout=10m + + echo "$worker is back up. Sleeping 30s before next node..." + sleep 30 +done + +echo "All workers updated!"