Skip to content

Commit 23522b9

Browse files
committed
Add an example daemonset configuration for arm64 nodes
This adds a sample daemonset configuration that targets arm64 nodes within the cluster, including privilege escalation for /sys/firmware access (as noted in GitHub issue #2) and a custom service account to permit nodes to label themselves.
1 parent 01d185b commit 23522b9

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

k8s-dt-labeller-ds.yaml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
kind: ServiceAccount
2+
apiVersion: v1
3+
metadata:
4+
name: dt-labeller
5+
namespace: kube-system
6+
labels:
7+
addonmanager.kubernetes.io/mode: Reconcile
8+
---
9+
kind: ClusterRole
10+
apiVersion: rbac.authorization.k8s.io/v1
11+
metadata:
12+
name: system:dt-labeller
13+
labels:
14+
addonmanager.kubernetes.io/mode: Reconcile
15+
rules:
16+
- apiGroups: [""]
17+
resources: ["nodes"]
18+
verbs: ["list", "watch"]
19+
---
20+
kind: ClusterRoleBinding
21+
apiVersion: rbac.authorization.k8s.io/v1
22+
metadata:
23+
name: system:dt-labeller
24+
labels:
25+
addonmanager.kubernetes.io/mode: Reconcile
26+
subjects:
27+
- kind: ServiceAccount
28+
name: dt-labeller
29+
namespace: kube-system
30+
roleRef:
31+
kind: ClusterRole
32+
name: system:dt-labeller
33+
apiGroup: rbac.authorization.k8s.io
34+
---
35+
apiVersion: apps/v1
36+
kind: DaemonSet
37+
metadata:
38+
name: dt-labeller
39+
namespace: kube-system
40+
spec:
41+
selector:
42+
matchLabels:
43+
name: dt-labeller
44+
template:
45+
metadata:
46+
labels:
47+
name: dt-labeller
48+
spec:
49+
# Restrict to devicetree-capable nodes
50+
nodeSelector:
51+
kubernetes.io/arch: arm64
52+
containers:
53+
- image: adaptant/k8s-dt-node-labeller:latest
54+
name: dt-labeller
55+
securityContext:
56+
# Needed for /sys/firmware access
57+
privileged: true
58+
serviceAccountName: dt-labeller

0 commit comments

Comments
 (0)