aboutsummaryrefslogtreecommitdiffstats
path: root/kud/deployment_infra
diff options
context:
space:
mode:
Diffstat (limited to 'kud/deployment_infra')
-rw-r--r--kud/deployment_infra/images/nfd-master.yaml86
-rw-r--r--kud/deployment_infra/images/nfd-worker.yaml61
-rw-r--r--kud/deployment_infra/playbooks/configure-nfd.yml51
-rw-r--r--kud/deployment_infra/playbooks/kud-vars.yml4
4 files changed, 151 insertions, 51 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/"
diff --git a/kud/deployment_infra/playbooks/configure-nfd.yml b/kud/deployment_infra/playbooks/configure-nfd.yml
index 590212cf..32e7b38f 100644
--- a/kud/deployment_infra/playbooks/configure-nfd.yml
+++ b/kud/deployment_infra/playbooks/configure-nfd.yml
@@ -7,52 +7,9 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-
-- hosts: kube-node
- tasks:
- - name: Load kud variables
- include_vars:
- file: kud-vars.yml
- - name: clone NFD repo
- git:
- repo: "{{ nfd_url }}"
- dest: "{{ nfd_dest }}"
- version: "{{ nfd_version }}"
- force: yes
- when: nfd_source_type == "source"
- - name: build NFD image
- become: yes
- make:
- chdir: "{{ nfd_dest }}"
- - name: get NDF image name
- become: yes
- shell: "docker images | grep kubernetes_incubator | awk '{printf(\"%s:%s\\n\", $1,$2)}'"
- register: nfd_image
- - name: replace NFD image name
- lineinfile:
- path: "{{ nfd_dest }}/node-feature-discovery-{{ item }}.json.template"
- regexp: "\"image\": \"quay.io/kubernetes_incubator.*i"
- line: "\"image\": \"{{ nfd_image.stdout }}\","
- with_items:
- - daemonset
- - job
- - name: copying rbac and daemonset files
- fetch:
- src: "{{ nfd_dest }}/{{ item }}"
- dest: "/tmp/"
- flat: yes
- with_items:
- - rbac.yaml
- - node-feature-discovery-daemonset.json.template
-
- hosts: localhost
- pre_tasks:
- - name: Load kud variables
- include_vars:
- file: kud-vars.yml
tasks:
- - name: create service accounts
- command: "/usr/local/bin/kubectl apply -f /tmp/{{ item }}"
- with_items:
- - rbac.yaml
- - node-feature-discovery-daemonset.json.template
+ - name: Apply NFD Master Daemonset
+ command: "/usr/local/bin/kubectl apply -f {{ playbook_dir }}/../images/nfd-master.yaml"
+ - name: Apply NFD Worker Daemonset
+ command: "/usr/local/bin/kubectl apply -f {{ playbook_dir }}/../images/nfd-worker.yaml"
diff --git a/kud/deployment_infra/playbooks/kud-vars.yml b/kud/deployment_infra/playbooks/kud-vars.yml
index 15e24ef1..a9910f8d 100644
--- a/kud/deployment_infra/playbooks/kud-vars.yml
+++ b/kud/deployment_infra/playbooks/kud-vars.yml
@@ -33,10 +33,6 @@ virtlet_url: "https://github.com/Mirantis/virtlet/releases/download/v{{ virtlet_
#virtlet_version: 68e11b8f1db2c78b063126899f0e60910700975d
#virtlet_url: "https://github.com/Mirantis/virtlet"
-nfd_dest: "{{ base_dest }}/nfd"
-nfd_source_type: "source"
-nfd_version: 175305b1ad73be7301ac94add475cec6fef797a9
-nfd_url: "https://github.com/kubernetes-incubator/node-feature-discovery"
istio_dest: "{{ base_dest }}/istio"
istio_source_type: "tarball"