aboutsummaryrefslogtreecommitdiffstats
path: root/kud/deployment_infra/images
diff options
context:
space:
mode:
authorAkhila Kishore <akhila.kishore@intel.com>2019-08-30 16:39:00 -0700
committerAkhila Kishore <akhila.kishore@intel.com>2019-09-11 13:53:16 -0700
commit9837132fd9360f7d88d650b2ec6a318662e43d5c (patch)
tree7321ce4df7f5fbe99f475c4737d7df4241763801 /kud/deployment_infra/images
parent4655f550c8c03a6384fa90746f1af021348ec6ef (diff)
Integrating NFD Daemonset with KuD
Current NFD code in KuD is unused and obsolete. Integrating NFD as DaemonSet and updating test case for NFD. Added comments. Addressed comments and changed the matchExpression to kernel features. Changed operator from "In" to Gt, and values 4 to 3 better fit broader spectrum of O.S's. Adding exit conditon in case there's an error status. Signed-off-by: Akhila Kishore <akhila.kishore@intel.com> Issue-ID: MULTICLOUD-797 Change-Id: I454fb1998fc84e5f0d566f32b7dcfd85872c5183
Diffstat (limited to 'kud/deployment_infra/images')
-rw-r--r--kud/deployment_infra/images/nfd-master.yaml86
-rw-r--r--kud/deployment_infra/images/nfd-worker.yaml61
2 files changed, 147 insertions, 0 deletions
diff --git a/kud/deployment_infra/images/nfd-master.yaml b/kud/deployment_infra/images/nfd-master.yaml
new file mode 100644
index 00000000..846bb753
--- /dev/null
+++ b/kud/deployment_infra/images/nfd-master.yaml
@@ -0,0 +1,86 @@
+# Refernce NFD Master DaemonSet - https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-master.yaml.template
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: node-feature-discovery # NFD namespace
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: nfd-master
+ namespace: node-feature-discovery
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: nfd-master
+rules:
+- apiGroups:
+ - ""
+ resources:
+ - nodes
+ verbs:
+ - get
+ - patch
+ - update
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: nfd-master
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: nfd-master
+subjects:
+- kind: ServiceAccount
+ name: nfd-master
+ namespace: node-feature-discovery
+---
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+ labels:
+ app: nfd-master
+ name: nfd-master
+ namespace: node-feature-discovery
+spec:
+ selector:
+ matchLabels:
+ app: nfd-master
+ template:
+ metadata:
+ labels:
+ app: nfd-master
+ spec:
+ serviceAccount: nfd-master
+ nodeSelector:
+ node-role.kubernetes.io/master: ""
+ tolerations:
+ - key: "node-role.kubernetes.io/master"
+ operator: "Equal"
+ value: ""
+ effect: "NoSchedule"
+ containers:
+ - env:
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ image: quay.io/kubernetes_incubator/node-feature-discovery:v0.4.0
+ name: nfd-master
+ command:
+ - "nfd-master"
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: nfd-master
+ namespace: node-feature-discovery
+spec:
+ selector:
+ app: nfd-master
+ ports:
+ - protocol: TCP
+ port: 8080
+ type: ClusterIP
diff --git a/kud/deployment_infra/images/nfd-worker.yaml b/kud/deployment_infra/images/nfd-worker.yaml
new file mode 100644
index 00000000..44bec5cd
--- /dev/null
+++ b/kud/deployment_infra/images/nfd-worker.yaml
@@ -0,0 +1,61 @@
+# Reference to NFD worker DaemonSet - https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/nfd-worker-daemonset.yaml.template
+apiVersion: apps/v1
+kind: DaemonSet
+metadata:
+ labels:
+ app: nfd-worker
+ name: nfd-worker
+ namespace: node-feature-discovery
+spec:
+ selector:
+ matchLabels:
+ app: nfd-worker
+ template:
+ metadata:
+ labels:
+ app: nfd-worker
+ spec:
+ hostNetwork: true
+ dnsPolicy: ClusterFirstWithHostNet
+ containers:
+ - env:
+ - name: NODE_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ image: quay.io/kubernetes_incubator/node-feature-discovery:v0.4.0
+ name: nfd-worker
+ command:
+ - "nfd-worker"
+ args:
+ - "--sleep-interval=60s"
+ - "--server=nfd-master:8080"
+ volumeMounts:
+ - name: host-boot
+ mountPath: "/host-boot"
+ readOnly: true
+ - name: host-os-release
+ mountPath: "/host-etc/os-release"
+ readOnly: true
+ - name: host-sys
+ mountPath: "/host-sys"
+ - name: source-d
+ mountPath: "/etc/kubernetes/node-feature-discovery/source.d/"
+ - name: features-d
+ mountPath: "/etc/kubernetes/node-feature-discovery/features.d/"
+ volumes:
+ - name: host-boot
+ hostPath:
+ path: "/boot"
+ - name: host-os-release
+ hostPath:
+ path: "/etc/os-release"
+ - name: host-sys
+ hostPath:
+ path: "/sys"
+ - name: source-d
+ hostPath:
+ path: "/etc/kubernetes/node-feature-discovery/source.d/"
+ - name: features-d
+ hostPath:
+ path: "/etc/kubernetes/node-feature-discovery/features.d/"