talos/cluster.yaml.j2
1
---
2
version: v1alpha1
3
machine:
4
ca:
5
crt: op://Kubernetes/talos/MACHINE_CA_CRT
6
features:
7
apidCheckExtKeyUsage: true
8
diskQuotaSupport: true
9
rbac: true
10
token: op://Kubernetes/talos/MACHINE_TOKEN
11
cluster:
12
ca:
13
crt: op://Kubernetes/talos/CLUSTER_CA_CRT
14
clusterName: main
15
controlPlane:
16
endpoint: https://k8s.janpuc.com:6443
17
token: op://Kubernetes/talos/CLUSTER_TOKEN
18
---
19
apiVersion: v1alpha1
20
kind: ResolverConfig
21
hostDNS:
22
enabled: true
23
forwardKubeDNSToHost: true
24
resolveMemberNames: true
25
---
26
apiVersion: v1alpha1
27
kind: DHCPv4Config
28
name: enp2s0f0
29
routeMetric: 0
30
---
31
apiVersion: v1alpha1
32
kind: EthernetConfig
33
name: enp2s0f0
34
features:
35
tx-checksum-ipv6: false
36
---
37
apiVersion: v1alpha1
38
kind: DiscoveryServiceConfig
39
name: default
40
endpoint: https://discovery.talos.dev/
41
---
42
apiVersion: v1alpha1
43
kind: DiscoveryIdentityConfig
44
clusterID: op://Kubernetes/talos/CLUSTER_ID
45
clusterSecret: op://Kubernetes/talos/CLUSTER_SECRET
46
---
47
apiVersion: v1alpha1
48
kind: UnattendedInstallConfig
49
installer:
50
image: factory.talos.dev/metal-installer/{{ schematic }}:v1.14.0-rc.1
51
provisioning:
52
diskSelector:
53
match: disk.model == 'SSDPR-CX400-256-'
54
wipe: false
55
---
56
apiVersion: v1alpha1
57
kind: VolumeConfig
58
name: EPHEMERAL
59
provisioning:
60
diskSelector:
61
match: disk.model == 'SSDPR-CX400-256-'
62
minSize: 2GB
63
maxSize: 120GB
64
grow: false
65
---
66
apiVersion: v1alpha1
67
kind: RawVolumeConfig
68
name: miroir-slow
69
provisioning:
70
diskSelector:
71
match: disk.model == 'SSDPR-CX400-256-'
72
minSize: 100GB
73
---
74
apiVersion: v1alpha1
75
kind: RawVolumeConfig
76
name: miroir-fast
77
provisioning:
78
diskSelector:
79
match: disk.transport == 'nvme'
80
minSize: 100GB
81
---
82
apiVersion: v1alpha1
83
kind: FilesystemTrimConfig
84
interval: 168h0m0s
85
---
86
apiVersion: v1alpha1
87
kind: WatchdogTimerConfig
88
device: /dev/watchdog0
89
timeout: 5m
90
---
91
apiVersion: v1alpha1
92
kind: KernelModuleConfig
93
name: nbd
94
---
95
apiVersion: v1alpha1
96
kind: KernelModuleConfig
97
name: amdgpu
98
---
99
apiVersion: v1alpha1
100
kind: KernelModuleConfig
101
name: dm_thin_pool
102
---
103
apiVersion: v1alpha1
104
kind: KernelModuleConfig
105
name: drbd
106
parameters:
107
- usermode_helper=disabled
108
---
109
apiVersion: v1alpha1
110
kind: KernelModuleConfig
111
name: drbd_transport_tcp
112
---
113
apiVersion: v1alpha1
114
kind: SysctlConfig
115
params:
116
fs.inotify.max_user_instances: "8192"
117
fs.inotify.max_user_watches: "1048576"
118
net.core.default_qdisc: fq
119
net.core.rmem_max: "67108864"
120
net.core.wmem_max: "67108864"
121
net.ipv4.neigh.default.gc_thresh1: "4096"
122
net.ipv4.neigh.default.gc_thresh2: "8192"
123
net.ipv4.neigh.default.gc_thresh3: "16384"
124
net.ipv4.ping_group_range: 0 2147483647
125
net.ipv4.tcp_congestion_control: bbr
126
net.ipv4.tcp_fastopen: "3"
127
net.ipv4.tcp_mtu_probing: "1"
128
net.ipv4.tcp_notsent_lowat: "131072"
129
net.ipv4.tcp_rmem: 4096 87380 33554432
130
net.ipv4.tcp_slow_start_after_idle: "0"
131
net.ipv4.tcp_window_scaling: "1"
132
net.ipv4.tcp_wmem: 4096 65536 33554432
133
sunrpc.tcp_max_slot_table_entries: "128"
134
sunrpc.tcp_slot_table_entries: "128"
135
user.max_user_namespaces: "11255"
136
---
137
apiVersion: v1alpha1
138
kind: EtcFileConfig
139
name: nfsmount.conf
140
mode: 0o644
141
contents: |
142
[ NFSMount_Global_Options ]
143
nfsvers=4.2
144
hard=True
145
nconnect=8
146
noatime=True
147
rsize=1048576
148
wsize=1048576
149
---
150
apiVersion: v1alpha1
151
kind: CRICustomizationConfig
152
name: containerd
153
content: |
154
[plugins."io.containerd.cri.v1.images"]
155
discard_unpacked_layers = false
156
[plugins."io.containerd.cri.v1.runtime"]
157
device_ownership_from_security_context = true
158
---
159
apiVersion: v1alpha1
160
kind: KubeNodeConfig
161
nodeIP:
162
validSubnets:
163
- 192.168.69.0/24
164
labels:
165
node.kubernetes.io/gpu: "true"
166
topology.kubernetes.io/region: main
167
---
168
apiVersion: v1alpha1
169
kind: KubeletConfig
170
config:
171
imageGCHighThresholdPercent: 70
172
imageGCLowThresholdPercent: 55
173
serializeImagePulls: false
174
maxParallelImagePulls: 3
175
evictionHard:
176
memory.available: 512Mi
177
nodefs.available: 5%
178
shutdownGracePeriod: 120s
179
shutdownGracePeriodCriticalPods: 60s
180
defaultRuntimeSeccompProfileEnabled: true
181
image: ghcr.io/siderolabs/kubelet:v1.36.3
182
---
183
apiVersion: v1alpha1
184
kind: KubeNetworkConfig
185
dnsDomain: cluster.local
186
podSubnets:
187
- 10.42.0.0/16
188
serviceSubnets:
189
- 10.43.0.0/16
190
---
191
apiVersion: v1alpha1
192
kind: KubePrismConfig
193
port: 7445