From 53f59675550f6362c76d29e968c9de0c739b3949 Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Fri, 8 Dec 2023 14:42:31 +0200 Subject: [PATCH] deployment/kustomize: drop default-combined overlay The "combined" overlay, deploying nfd-master and nfd-worker in the same pod (with a daemonset) doesn't make sense anymore as we have enabled NodeFeature API. There is no direct communication between nfd-master and nfd-worker anymore, Moreover, the combined deployment can be seen as broken as there is one NodeFeature controller (i.e. nfd-master) on each node, causing them to race against each other, all processing all NodeFeature objects. --- .../master-worker-combined/kustomization.yaml | 7 --- .../master-worker-daemonset.yaml | 41 -------------- .../components/common/env-combined.yaml | 14 ----- .../components/common/kustomization.yaml | 17 ------ .../common/securitycontext-combined.yaml | 16 ------ .../common/worker-mounts-combined.yaml | 55 ------------------- .../default-combined/kustomization.yaml | 15 ----- .../overlays/default-combined/namespace.yaml | 4 -- docs/deployment/kustomize.md | 19 ------- docs/developer-guide/index.md | 3 +- 10 files changed, 1 insertion(+), 190 deletions(-) delete mode 100644 deployment/base/master-worker-combined/kustomization.yaml delete mode 100644 deployment/base/master-worker-combined/master-worker-daemonset.yaml delete mode 100644 deployment/components/common/env-combined.yaml delete mode 100644 deployment/components/common/securitycontext-combined.yaml delete mode 100644 deployment/components/common/worker-mounts-combined.yaml delete mode 100644 deployment/overlays/default-combined/kustomization.yaml delete mode 100644 deployment/overlays/default-combined/namespace.yaml diff --git a/deployment/base/master-worker-combined/kustomization.yaml b/deployment/base/master-worker-combined/kustomization.yaml deleted file mode 100644 index 665515737..000000000 --- a/deployment/base/master-worker-combined/kustomization.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -namespace: node-feature-discovery - -resources: -- master-worker-daemonset.yaml diff --git a/deployment/base/master-worker-combined/master-worker-daemonset.yaml b/deployment/base/master-worker-combined/master-worker-daemonset.yaml deleted file mode 100644 index b0d8fceda..000000000 --- a/deployment/base/master-worker-combined/master-worker-daemonset.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: apps/v1 -kind: DaemonSet -metadata: - labels: - app: nfd - name: nfd -spec: - selector: - matchLabels: - app: nfd - template: - metadata: - labels: - app: nfd - spec: - serviceAccount: nfd-master - enableServiceLinks: false - tolerations: [] - containers: - - name: nfd-master - image: gcr.io/k8s-staging-nfd/node-feature-discovery:master - imagePullPolicy: Always - livenessProbe: - grpc: - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 10 - readinessProbe: - grpc: - port: 8080 - initialDelaySeconds: 5 - periodSeconds: 10 - failureThreshold: 10 - command: - - "nfd-master" - - name: nfd-worker - image: gcr.io/k8s-staging-nfd/node-feature-discovery:master - imagePullPolicy: Always - command: - - "nfd-worker" - args: [] diff --git a/deployment/components/common/env-combined.yaml b/deployment/components/common/env-combined.yaml deleted file mode 100644 index f490d8784..000000000 --- a/deployment/components/common/env-combined.yaml +++ /dev/null @@ -1,14 +0,0 @@ -- op: add - path: "/spec/template/spec/containers/0/env" - value: - - name: NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName -- op: add - path: "/spec/template/spec/containers/1/env" - value: - - name: NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName diff --git a/deployment/components/common/kustomization.yaml b/deployment/components/common/kustomization.yaml index 2776c6928..d98c284e0 100644 --- a/deployment/components/common/kustomization.yaml +++ b/deployment/components/common/kustomization.yaml @@ -18,23 +18,6 @@ patches: target: labelSelector: app=nfd name: nfd-worker -# We need separate patches for the "combined" daemonset with two containers in the pod :/ -- path: env-combined.yaml - target: - labelSelector: app=nfd - name: nfd -- path: securitycontext-combined.yaml - target: - labelSelector: app=nfd - name: nfd -- path: master-affinity.yaml - target: - labelSelector: app=nfd - name: nfd -- path: worker-mounts-combined.yaml - target: - labelSelector: app=nfd - name: nfd - path: master-mounts.yaml target: labelSelector: app=nfd diff --git a/deployment/components/common/securitycontext-combined.yaml b/deployment/components/common/securitycontext-combined.yaml deleted file mode 100644 index 7552313e6..000000000 --- a/deployment/components/common/securitycontext-combined.yaml +++ /dev/null @@ -1,16 +0,0 @@ -- op: add - path: "/spec/template/spec/containers/0/securityContext" - value: - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - readOnlyRootFilesystem: true - runAsNonRoot: true -- op: add - path: "/spec/template/spec/containers/1/securityContext" - value: - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - readOnlyRootFilesystem: true - runAsNonRoot: true diff --git a/deployment/components/common/worker-mounts-combined.yaml b/deployment/components/common/worker-mounts-combined.yaml deleted file mode 100644 index c32edba8c..000000000 --- a/deployment/components/common/worker-mounts-combined.yaml +++ /dev/null @@ -1,55 +0,0 @@ -- op: add - path: /spec/template/spec/volumes - value: - - name: host-boot - hostPath: - path: "/boot" - - name: host-os-release - hostPath: - path: "/etc/os-release" - - name: host-sys - hostPath: - path: "/sys" - - name: host-usr-lib - hostPath: - path: "/usr/lib" - - name: host-lib - hostPath: - path: "/lib" - - name: source-d - hostPath: - path: "/etc/kubernetes/node-feature-discovery/source.d/" - - name: features-d - hostPath: - path: "/etc/kubernetes/node-feature-discovery/features.d/" - - name: nfd-worker-conf - configMap: - name: nfd-worker-conf - -- op: add - path: /spec/template/spec/containers/1/volumeMounts - value: - - 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" - readOnly: true - - name: host-usr-lib - mountPath: "/host-usr/lib" - readOnly: true - - name: host-lib - mountPath: "/host-lib" - readOnly: true - - name: source-d - mountPath: "/etc/kubernetes/node-feature-discovery/source.d/" - readOnly: true - - name: features-d - mountPath: "/etc/kubernetes/node-feature-discovery/features.d/" - readOnly: true - - name: nfd-worker-conf - mountPath: "/etc/kubernetes/node-feature-discovery" - readOnly: true diff --git a/deployment/overlays/default-combined/kustomization.yaml b/deployment/overlays/default-combined/kustomization.yaml deleted file mode 100644 index 3eb74c4ed..000000000 --- a/deployment/overlays/default-combined/kustomization.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -namespace: node-feature-discovery - -resources: -- ../../base/rbac -- ../../base/nfd-crds -- ../../base/master-worker-combined -- namespace.yaml - -components: -- ../../components/worker-config -- ../../components/common -- ../../components/master-config diff --git a/deployment/overlays/default-combined/namespace.yaml b/deployment/overlays/default-combined/namespace.yaml deleted file mode 100644 index 8e54de2e3..000000000 --- a/deployment/overlays/default-combined/namespace.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: node-feature-discovery diff --git a/docs/deployment/kustomize.md b/docs/deployment/kustomize.md index fe17ea2fb..b7473cfeb 100644 --- a/docs/deployment/kustomize.md +++ b/docs/deployment/kustomize.md @@ -48,8 +48,6 @@ scenarios under - [`default`](https://github.com/kubernetes-sigs/node-feature-discovery/blob/{{site.release}}/deployment/overlays/default): default deployment of nfd-worker as a daemonset, described above -- [`default-combined`](https://github.com/kubernetes-sigs/node-feature-discovery/blob/{{site.release}}/deployment/overlays/default-combined) - see [Master-worker pod](#master-worker-pod) below - [`default-job`](https://github.com/kubernetes-sigs/node-feature-discovery/blob/{{site.release}}/deployment/overlays/default-job): see [Worker one-shot](#worker-one-shot) below - [`master-worker-topologyupdater`](https://github.com/kubernetes-sigs/node-feature-discovery/blob/{{site.release}}/deployment/overlays/master-worker-topologyupdater): @@ -72,23 +70,6 @@ scenarios under [Custom feature source](../usage/features.md#custom) for more information about custom node labels -### Master-worker pod - -You can also run nfd-master and nfd-worker inside the same pod - -```bash -kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default-combined?ref={{ site.release }} - -``` - -This creates a DaemonSet that runs nfd-worker and nfd-master in the same Pod. -In this case no nfd-master is run on the master node(s), but, the worker nodes -are able to label themselves which may be desirable e.g. in single-node setups. - -> **NOTE:** nfd-topology-updater is not deployed by the default-combined -> overlay. To enable nfd-topology-updater in this scenario,the users must -> customize the deployment themselves. - ### Worker one-shot Feature discovery can alternatively be configured as a one-shot job. diff --git a/docs/developer-guide/index.md b/docs/developer-guide/index.md index 50473d5c5..180b9e014 100644 --- a/docs/developer-guide/index.md +++ b/docs/developer-guide/index.md @@ -90,8 +90,7 @@ kubectl apply -k . ``` You can use alternative deployment methods by modifying the auto-generated -kustomization file. For example, deploying worker and master in the same pod by -pointing to `deployment/overlays/default-combined`. +kustomization file. ### Building locally