talos
This commit is contained in:
@@ -88,6 +88,10 @@ papermc_server:
|
|||||||
dev_servers:
|
dev_servers:
|
||||||
hosts:
|
hosts:
|
||||||
scrim:
|
scrim:
|
||||||
|
backstage:
|
||||||
|
ansible_host: 10.1.71.133
|
||||||
|
ansible_user: wed
|
||||||
|
ansible_become: true
|
||||||
|
|
||||||
# dhcp_server:
|
# dhcp_server:
|
||||||
# hosts:
|
# hosts:
|
||||||
|
|||||||
118
talos/talhelper/px-csi-talos-patch-v2.yaml
Normal file
118
talos/talhelper/px-csi-talos-patch-v2.yaml
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
---
|
||||||
|
# Patch for px-pure-csi-node DaemonSet to work on Talos Linux
|
||||||
|
# This version DISABLES multipath to avoid multipath.conf issues on Talos
|
||||||
|
# Apply with: kubectl patch daemonset px-pure-csi-node -n portworx --patch-file px-csi-talos-patch-v2.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
name: px-pure-csi-node
|
||||||
|
namespace: portworx
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: node-plugin
|
||||||
|
env:
|
||||||
|
# CRITICAL: Disable multipath to avoid /etc/multipath.conf requirement
|
||||||
|
- name: DISABLE_MULTIPATH
|
||||||
|
value: "true"
|
||||||
|
# Keep existing env vars (these will merge with existing)
|
||||||
|
- name: PX_LOGLEVEL
|
||||||
|
value: INFO
|
||||||
|
- name: LOG_FILE
|
||||||
|
value: /var/log/px-pure-csi/node.log
|
||||||
|
- name: PURE_DISCOVERY_CONF
|
||||||
|
value: /config/pure.json
|
||||||
|
- name: CSI_ENDPOINT
|
||||||
|
value: unix:/csi/csi.sock
|
||||||
|
- name: CSI_NODE_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: spec.nodeName
|
||||||
|
- name: NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: CLUSTER_UUID
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: ClusterUUID
|
||||||
|
name: pure-storage-cluster-cm
|
||||||
|
- name: CLUSTER_NAME
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
key: ClusterName
|
||||||
|
name: pure-storage-cluster-cm
|
||||||
|
- name: NODE_STAGE_CONCURRENCY
|
||||||
|
value: "25"
|
||||||
|
- name: PURE_FLASHARRAY_SAN_TYPE
|
||||||
|
value: ISCSI
|
||||||
|
|
||||||
|
volumeMounts:
|
||||||
|
# Add Talos-specific mounts
|
||||||
|
- name: usr-local-sbin
|
||||||
|
mountPath: /usr/local/sbin
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
- name: var-lib-iscsi
|
||||||
|
mountPath: /var/lib/iscsi
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
# Fix existing mounts (keep originals, add propagation)
|
||||||
|
- name: log-dir
|
||||||
|
mountPath: /var/log/px-pure-csi
|
||||||
|
- name: sys
|
||||||
|
mountPath: /sys
|
||||||
|
- name: kubelet-dir
|
||||||
|
mountPath: /var/lib/kubelet
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
- name: kubelet-dir
|
||||||
|
mountPath: /csi
|
||||||
|
subPath: plugins/pxd.portworx.com
|
||||||
|
- name: device-dir
|
||||||
|
mountPath: /dev
|
||||||
|
- name: iscsi
|
||||||
|
mountPath: /etc/iscsi
|
||||||
|
- name: host-root
|
||||||
|
mountPath: /host
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
# Add Talos-specific volumes
|
||||||
|
- name: usr-local-sbin
|
||||||
|
hostPath:
|
||||||
|
path: /usr/local/sbin
|
||||||
|
type: Directory
|
||||||
|
- name: var-lib-iscsi
|
||||||
|
hostPath:
|
||||||
|
path: /var/lib/iscsi
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
- name: host-root
|
||||||
|
hostPath:
|
||||||
|
path: /
|
||||||
|
type: Directory
|
||||||
|
# Keep existing volumes
|
||||||
|
- name: kubelet-dir
|
||||||
|
hostPath:
|
||||||
|
path: /var/lib/kubelet
|
||||||
|
- name: log-dir
|
||||||
|
hostPath:
|
||||||
|
path: /var/log/px-pure-csi
|
||||||
|
- name: device-dir
|
||||||
|
hostPath:
|
||||||
|
path: /dev
|
||||||
|
type: Directory
|
||||||
|
- name: probe-dir
|
||||||
|
emptyDir: {}
|
||||||
|
- name: iscsi
|
||||||
|
hostPath:
|
||||||
|
path: /etc/iscsi
|
||||||
|
- name: pure-config
|
||||||
|
secret:
|
||||||
|
secretName: px-pure-secret
|
||||||
|
items:
|
||||||
|
- key: pure.json
|
||||||
|
path: pure.json
|
||||||
|
- name: sys
|
||||||
|
hostPath:
|
||||||
|
path: /sys
|
||||||
44
talos/talhelper/px-csi-talos-patch.yaml
Normal file
44
talos/talhelper/px-csi-talos-patch.yaml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
# Patch for px-pure-csi-node DaemonSet to work on Talos Linux
|
||||||
|
# Apply with: kubectl patch daemonset px-pure-csi-node -n portworx --patch-file px-csi-talos-patch.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
name: px-pure-csi-node
|
||||||
|
namespace: portworx
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: node-plugin
|
||||||
|
volumeMounts:
|
||||||
|
# Add Talos-specific mounts
|
||||||
|
- name: usr-local-sbin
|
||||||
|
mountPath: /usr/local/sbin
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
- name: var-lib-iscsi
|
||||||
|
mountPath: /var/lib/iscsi
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
# Fix existing kubelet-dir mount propagation
|
||||||
|
- name: kubelet-dir
|
||||||
|
mountPath: /var/lib/kubelet
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
# Mount host root for nsenter access
|
||||||
|
- name: host-root
|
||||||
|
mountPath: /host
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
# Add Talos-specific volumes
|
||||||
|
- name: usr-local-sbin
|
||||||
|
hostPath:
|
||||||
|
path: /usr/local/sbin
|
||||||
|
type: Directory
|
||||||
|
- name: var-lib-iscsi
|
||||||
|
hostPath:
|
||||||
|
path: /var/lib/iscsi
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
- name: host-root
|
||||||
|
hostPath:
|
||||||
|
path: /
|
||||||
|
type: Directory
|
||||||
@@ -143,63 +143,18 @@ worker:
|
|||||||
# Only mount /var/lib/iscsi (NOT /etc/iscsi)
|
# Only mount /var/lib/iscsi (NOT /etc/iscsi)
|
||||||
# The iscsi-tools extension manages /etc/iscsi automatically
|
# The iscsi-tools extension manages /etc/iscsi automatically
|
||||||
# /var/lib/iscsi contains iSCSI session and node data that must persist
|
# /var/lib/iscsi contains iSCSI session and node data that must persist
|
||||||
- destination: /var/lib/iscsi
|
# - destination: /var/lib/iscsi
|
||||||
type: bind
|
# type: bind
|
||||||
source: /var/lib/iscsi
|
# source: /var/lib/iscsi
|
||||||
options:
|
# options:
|
||||||
- bind
|
# - bind
|
||||||
- rshared
|
# - rshared
|
||||||
- rw
|
# - rw
|
||||||
|
|
||||||
# ARP tuning for dual-NIC setup
|
# ARP tuning for dual-NIC setup
|
||||||
sysctls:
|
sysctls:
|
||||||
net.ipv4.conf.all.arp_announce: "2"
|
net.ipv4.conf.all.arp_announce: "2"
|
||||||
net.ipv4.conf.all.arp_ignore: "1"
|
net.ipv4.conf.all.arp_ignore: "1"
|
||||||
- |-
|
|
||||||
apiVersion: v1alpha1
|
|
||||||
kind: ExtensionServiceConfig
|
|
||||||
name: multipathd
|
|
||||||
configFiles:
|
|
||||||
- content: |-
|
|
||||||
# Pure Storage FlashArray multipath configuration
|
|
||||||
# Configured via ExtensionServiceConfig for multipathd system service
|
|
||||||
defaults {
|
|
||||||
polling_interval 10
|
|
||||||
path_selector "round-robin 0"
|
|
||||||
path_grouping_policy group_by_prio
|
|
||||||
path_checker tur
|
|
||||||
prio alua
|
|
||||||
failback immediate
|
|
||||||
user_friendly_names no
|
|
||||||
find_multipaths yes
|
|
||||||
fast_io_fail_tmo 10
|
|
||||||
dev_loss_tmo 600
|
|
||||||
no_path_retry 0
|
|
||||||
}
|
|
||||||
|
|
||||||
devices {
|
|
||||||
device {
|
|
||||||
vendor "PURE"
|
|
||||||
product "FlashArray"
|
|
||||||
path_selector "round-robin 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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
blacklist {
|
|
||||||
# Exclude Portworx PXD devices from multipathing
|
|
||||||
devnode "^pxd[0-9]*"
|
|
||||||
devnode "^pxd.*"
|
|
||||||
}
|
|
||||||
mountPath: /etc/multipath.conf
|
|
||||||
|
|
||||||
# ─── Nodes ───────────────────────────────────────────────────────────────────
|
# ─── Nodes ───────────────────────────────────────────────────────────────────
|
||||||
nodes:
|
nodes:
|
||||||
|
|||||||
85
talos/talhelper/talos-multipath-patch.yaml
Normal file
85
talos/talhelper/talos-multipath-patch.yaml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
# Talos machine config patch for Pure FlashArray multipath support
|
||||||
|
# Add this to your Talos machine config under worker nodes
|
||||||
|
# Apply with: talosctl patch machineconfig -n <worker-ip> --patch @talos-multipath-patch.yaml
|
||||||
|
machine:
|
||||||
|
files:
|
||||||
|
- path: /var/etc/multipath.conf
|
||||||
|
permissions: 0644
|
||||||
|
op: create
|
||||||
|
# content: |-
|
||||||
|
# # Pure Storage FlashArray multipath configuration
|
||||||
|
# defaults {
|
||||||
|
# polling_interval 10
|
||||||
|
# path_selector "round-robin 0"
|
||||||
|
# path_grouping_policy group_by_prio
|
||||||
|
# path_checker tur
|
||||||
|
# prio alua
|
||||||
|
# failback immediate
|
||||||
|
# user_friendly_names no
|
||||||
|
# find_multipaths yes
|
||||||
|
# fast_io_fail_tmo 10
|
||||||
|
# dev_loss_tmo 600
|
||||||
|
# no_path_retry 0
|
||||||
|
# }
|
||||||
|
# devices {
|
||||||
|
# device {
|
||||||
|
# vendor "PURE"
|
||||||
|
# product "FlashArray"
|
||||||
|
# path_selector "round-robin 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
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# blacklist {
|
||||||
|
# devnode "^pxd[0-9]*"
|
||||||
|
# devnode "^pxd.*"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Symlink for PX-CSI to find multipath.conf
|
||||||
|
- path: /etc/multipath.conf
|
||||||
|
permissions: 0644
|
||||||
|
op: create
|
||||||
|
# content: |-
|
||||||
|
# # Symlink to persistent location
|
||||||
|
# # Note: Talos /etc is read-only, this gets regenerated on boot
|
||||||
|
# defaults {
|
||||||
|
# polling_interval 10
|
||||||
|
# path_selector "round-robin 0"
|
||||||
|
# path_grouping_policy group_by_prio
|
||||||
|
# path_checker tur
|
||||||
|
# prio alua
|
||||||
|
# failback immediate
|
||||||
|
# user_friendly_names no
|
||||||
|
# find_multipaths yes
|
||||||
|
# fast_io_fail_tmo 10
|
||||||
|
# dev_loss_tmo 600
|
||||||
|
# no_path_retry 0
|
||||||
|
# }
|
||||||
|
# devices {
|
||||||
|
# device {
|
||||||
|
# vendor "PURE"
|
||||||
|
# product "FlashArray"
|
||||||
|
# path_selector "round-robin 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
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
# blacklist {
|
||||||
|
# devnode "^pxd[0-9]*"
|
||||||
|
# devnode "^pxd.*"
|
||||||
|
# }
|
||||||
Reference in New Issue
Block a user