@@ -31,6 +31,7 @@ data "http" "talos_schematic" {
31
31
systemExtensions:
32
32
officialExtensions:
33
33
- siderolabs/gvisor
34
+ - siderolabs/kata-containers
34
35
- siderolabs/iscsi-tools
35
36
- siderolabs/mdadm
36
37
EOT
@@ -78,6 +79,11 @@ resource "talos_machine_configuration_apply" "cp" {
78
79
- talos.platform=equinixMetal
79
80
wipe: false
80
81
image: ${ local . talos_install_image }
82
+ extensions:
83
+ - image: ghcr.io/siderolabs/gvisor:20240325.0
84
+ - image: ghcr.io/siderolabs/kata-containers:3.3.0
85
+ - image: ghcr.io/siderolabs/iscsi-tools:v0.1.4
86
+ - image: ghcr.io/siderolabs/mdadm:v4.2-v1.6.7
81
87
network:
82
88
hostname: ${ each . value . hostname }
83
89
# defaults to false, causes issues when using wildcard DNS
@@ -134,11 +140,57 @@ resource "talos_machine_configuration_apply" "cp" {
134
140
- ${ var . kubernetes_apiserver_fqdn }
135
141
- ${ equinix_metal_reserved_ip_block . cluster_apiserver_ip . network }
136
142
inlineManifests:
137
- - apiVersion: node.k8s.io/v1
138
- kind: RuntimeClass
139
- metadata:
140
- name: gvisor
141
- handler: runsc
143
+ - name: kata-runtime-class
144
+ contents: |
145
+ apiVersion: node.k8s.io/v1
146
+ kind: RuntimeClass
147
+ metadata:
148
+ name: kata
149
+ handler: kata
150
+ overhead:
151
+ podFixed:
152
+ memory: "130Mi"
153
+ cpu: "250m"
154
+ - name: gvisor-runtime-class
155
+ contents: |
156
+ apiVersion: node.k8s.io/v1
157
+ kind: RuntimeClass
158
+ metadata:
159
+ name: gvisor
160
+ handler: runsc
161
+ - name: fuse-device-plugin
162
+ contents: |
163
+ apiVersion: apps/v1
164
+ kind: DaemonSet
165
+ metadata:
166
+ name: fuse-device-plugin-daemonset
167
+ namespace: kube-system
168
+ spec:
169
+ selector:
170
+ matchLabels:
171
+ name: fuse-device-plugin-ds
172
+ template:
173
+ metadata:
174
+ labels:
175
+ name: fuse-device-plugin-ds
176
+ spec:
177
+ hostNetwork: true
178
+ containers:
179
+ - image: soolaugust/fuse-device-plugin:v1.0
180
+ name: fuse-device-plugin-ctr
181
+ securityContext:
182
+ allowPrivilegeEscalation: false
183
+ capabilities:
184
+ drop: ["ALL"]
185
+ volumeMounts:
186
+ - name: device-plugin
187
+ mountPath: /var/lib/kubelet/device-plugins
188
+ volumes:
189
+ - name: device-plugin
190
+ hostPath:
191
+ path: /var/lib/kubelet/device-plugins
192
+ imagePullSecrets:
193
+ - name: registry-secret
142
194
- name: metal-cloud-config
143
195
contents: |
144
196
apiVersion: v1
0 commit comments