diff options
Diffstat (limited to 'kud/deployment_infra')
-rw-r--r-- | kud/deployment_infra/images/nfd-master.yaml | 86 | ||||
-rw-r--r-- | kud/deployment_infra/images/nfd-worker.yaml | 61 | ||||
-rw-r--r-- | kud/deployment_infra/playbooks/configure-nfd.yml | 51 | ||||
-rw-r--r-- | kud/deployment_infra/playbooks/kud-vars.yml | 4 |
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" |