From 55ba4cb61c3d4b2fda7a1224a84d2ba8d0d48545 Mon Sep 17 00:00:00 2001 From: Phil Sphicas Date: Sat, 3 Oct 2020 01:30:56 +0000 Subject: [PATCH] Allow node selector configuration per module This change adds the ability to configure node selectors per module. The default node selector is 'kubernetes.io/os=linux'. For example: labels: apt: node_selector_key=divingbell-apt node_selector_value=enabled Will result in a node selector of 'divingbell-apt=enabled'. Change-Id: I7150c5f998afa30dce22f505be4d0d164254214f --- divingbell/templates/daemonset-apparmor.yaml | 2 ++ divingbell/templates/daemonset-apt.yaml | 2 ++ divingbell/templates/daemonset-ethtool.yaml | 2 ++ divingbell/templates/daemonset-exec.yaml | 2 ++ divingbell/templates/daemonset-limits.yaml | 2 ++ divingbell/templates/daemonset-mounts.yaml | 2 ++ divingbell/templates/daemonset-perm.yaml | 2 ++ divingbell/templates/daemonset-sysctl.yaml | 2 ++ divingbell/templates/daemonset-uamlite.yaml | 2 ++ divingbell/values.yaml | 29 ++++++++++++++++++++ 10 files changed, 47 insertions(+) diff --git a/divingbell/templates/daemonset-apparmor.yaml b/divingbell/templates/daemonset-apparmor.yaml index a152d9d..d8510b4 100644 --- a/divingbell/templates/daemonset-apparmor.yaml +++ b/divingbell/templates/daemonset-apparmor.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.apparmor.node_selector_key }}: {{ .Values.labels.apparmor.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-apt.yaml b/divingbell/templates/daemonset-apt.yaml index e230899..a628c24 100644 --- a/divingbell/templates/daemonset-apt.yaml +++ b/divingbell/templates/daemonset-apt.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.apt.node_selector_key }}: {{ .Values.labels.apt.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-ethtool.yaml b/divingbell/templates/daemonset-ethtool.yaml index 656b24d..c79e35f 100644 --- a/divingbell/templates/daemonset-ethtool.yaml +++ b/divingbell/templates/daemonset-ethtool.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.ethtool.node_selector_key }}: {{ .Values.labels.ethtool.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-exec.yaml b/divingbell/templates/daemonset-exec.yaml index 9d3cddb..95a989a 100644 --- a/divingbell/templates/daemonset-exec.yaml +++ b/divingbell/templates/daemonset-exec.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.exec.node_selector_key }}: {{ .Values.labels.exec.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-limits.yaml b/divingbell/templates/daemonset-limits.yaml index a6713d5..15d084c 100644 --- a/divingbell/templates/daemonset-limits.yaml +++ b/divingbell/templates/daemonset-limits.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.limits.node_selector_key }}: {{ .Values.labels.limits.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-mounts.yaml b/divingbell/templates/daemonset-mounts.yaml index c69fe2c..e3604a1 100644 --- a/divingbell/templates/daemonset-mounts.yaml +++ b/divingbell/templates/daemonset-mounts.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.mounts.node_selector_key }}: {{ .Values.labels.mounts.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-perm.yaml b/divingbell/templates/daemonset-perm.yaml index aa47d71..0e02cd0 100644 --- a/divingbell/templates/daemonset-perm.yaml +++ b/divingbell/templates/daemonset-perm.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.perm.node_selector_key }}: {{ .Values.labels.perm.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-sysctl.yaml b/divingbell/templates/daemonset-sysctl.yaml index 98d0241..278b9c0 100644 --- a/divingbell/templates/daemonset-sysctl.yaml +++ b/divingbell/templates/daemonset-sysctl.yaml @@ -43,6 +43,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.sysctl.node_selector_key }}: {{ .Values.labels.sysctl.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/templates/daemonset-uamlite.yaml b/divingbell/templates/daemonset-uamlite.yaml index 89e860b..2dbdd1f 100644 --- a/divingbell/templates/daemonset-uamlite.yaml +++ b/divingbell/templates/daemonset-uamlite.yaml @@ -42,6 +42,8 @@ spec: hostNetwork: true hostPID: true hostIPC: true + nodeSelector: + {{ .Values.labels.uamlite.node_selector_key }}: {{ .Values.labels.uamlite.node_selector_value }} containers: - name: {{ $daemonset }} image: {{ .Values.images.divingbell }} diff --git a/divingbell/values.yaml b/divingbell/values.yaml index 3990b5b..4326842 100644 --- a/divingbell/values.yaml +++ b/divingbell/values.yaml @@ -267,6 +267,35 @@ network_policy: egress: - {} +labels: + apparmor: + node_selector_key: kubernetes.io/os + node_selector_value: linux + apt: + node_selector_key: kubernetes.io/os + node_selector_value: linux + ethtool: + node_selector_key: kubernetes.io/os + node_selector_value: linux + exec: + node_selector_key: kubernetes.io/os + node_selector_value: linux + limits: + node_selector_key: kubernetes.io/os + node_selector_value: linux + mounts: + node_selector_key: kubernetes.io/os + node_selector_value: linux + perm: + node_selector_key: kubernetes.io/os + node_selector_value: linux + sysctl: + node_selector_key: kubernetes.io/os + node_selector_value: linux + uamlite: + node_selector_key: kubernetes.io/os + node_selector_value: linux + manifests: daemonset_ethtool: true daemonset_mounts: true