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/configure-ovn-kubernetes.yml136
-rw-r--r--kud/deployment_infra/playbooks/kud-vars.yml4
5 files changed, 151 insertions, 187 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/configure-ovn-kubernetes.yml b/kud/deployment_infra/playbooks/configure-ovn-kubernetes.yml
deleted file mode 100644
index 5f1c9f64..00000000
--- a/kud/deployment_infra/playbooks/configure-ovn-kubernetes.yml
+++ /dev/null
@@ -1,136 +0,0 @@
----
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-- import_playbook: configure-ovn.yml
-
-- hosts: ovn-central:ovn-controller
- vars:
- central_node_ip: "{{ hostvars[groups['ovn-central'][0]]['ansible_ssh_host'] }}"
- environment:
- PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/"
- pre_tasks:
- - name: Load kud variables
- include_vars:
- file: kud-vars.yml
- roles:
- - role: andrewrothstein.go
- go_ver: "{{ go_version }}"
- tasks:
- - name: Load kud variables
- include_vars:
- file: kud-vars.yml
- - name: clone ovn-kubernetes repo
- git:
- repo: "{{ ovn_kubernetes_url }}"
- dest: "{{ ovn_kubernetes_dest }}"
- version: "{{ ovn_kubernetes_version }}"
- force: yes
- when: ovn_kubernetes_source_type == "source"
- - name: getting binaries
- block:
- - name: download ovn-kubernetes tarball
- get_url:
- url: "{{ ovn_kubernetes_url }}"
- dest: /tmp/ovn-kubernetes.tar.gz
- - name: extract ovn-kubernetes source code
- unarchive:
- src: /tmp/ovn-kubernetes.tar.gz
- dest: /tmp/
- remote_src: yes
- - name: rename extracted folder
- command: "mv /tmp/ovn-kubernetes-{{ ovn_kubernetes_version }}/ {{ ovn_kubernetes_dest }}/"
- when: ovn_kubernetes_source_type == "tarball"
- - name: make ovnkube files
- make:
- chdir: "{{ ovn_kubernetes_dest }}/go-controller"
- - name: install ovnkube files
- make:
- chdir: "{{ ovn_kubernetes_dest }}/go-controller"
- target: install
- become: yes
- - name: create OVN Kubernetes config file
- become: yes
- blockinfile:
- path: /etc/openvswitch/ovn_k8s.conf
- create: yes
- block: |
- [logging]
- loglevel=5
- logfile=/var/log/openvswitch/ovnkube.log
-
- [cni]
- conf-dir=/etc/cni/net.d
- plugin=ovn-k8s-cni-overlay
- - name: create ovnkube logging directory
- file:
- path: /var/log/openvswitch
- state: directory
-
-- hosts: ovn-central
- become: yes
- vars:
- central_node_ip: "{{ hostvars[groups['ovn-central'][0]]['ansible_ssh_host'] }}"
- tasks:
- - name: create ovnkube central systemd service
- blockinfile:
- path: /etc/systemd/system/ovn-k8s-central.service
- create: yes
- block: |
- [Unit]
- Description=OVN Central Daemon
-
- [Service]
- ExecStart=/usr/bin/ovnkube \
- -net-controller \
- -init-master="{{ ansible_hostname }}" \
- -init-node="{{ ansible_hostname }}" \
- -nodeport \
- -k8s-kubeconfig=/etc/kubernetes/admin.conf \
- -k8s-token="test" \
- -nb-address="tcp://{{ central_node_ip }}:6641" \
- -sb-address="tcp://{{ central_node_ip }}:6642"
-
- [Install]
- WantedBy=multi-user.target
- - name: start ovnkube central systemd service
- service:
- name: ovn-k8s-central
- state: started
- enabled: yes
-
-- hosts: ovn-controller
- become: yes
- vars:
- central_node_ip: "{{ hostvars[groups['ovn-central'][0]]['ansible_ssh_host'] }}"
- tasks:
- - name: create ovnkube controller systemd service
- blockinfile:
- path: /etc/systemd/system/ovn-k8s-host.service
- create: yes
- block: |
- [Unit]
- Description=OVN Controller Daemon
-
- [Service]
- ExecStart=/usr/bin/ovnkube \
- -init-gateways \
- -init-node="{{ ansible_hostname }}" \
- -nodeport \
- -k8s-kubeconfig=/etc/kubernetes/admin.conf \
- -k8s-token="test" \
- -nb-address="tcp://{{ central_node_ip }}:6641" \
- -sb-address="tcp://{{ central_node_ip }}:6642"
-
- [Install]
- WantedBy=multi-user.target
- - name: start ovnkube controller systemd service
- service:
- name: ovn-k8s-host
- state: started
- enabled: yes
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"