mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-10-30 22:16:23 -02:30
* chore(deps): bump node-feature-discovery to v0.19.0 Checked all intermediate releases (0.17.0, 0.18.0, 0.19.0) for breaking changes. v0.19.0's RBAC breaking change (nfd-topology-updater needs list+watch on pods) does not apply here: Kubespray does not deploy an nfd-topology-updater workload (only an unused ConfigMap template for it exists in this role). v0.19.0 also removed env/expandenv/getHostByName from NodeFeatureRule templates -- only affects user-authored custom NodeFeatureRule resources, not anything this role ships by default. * fix(nfd): add missing namespaces RBAC rule and fix nodefeaturegroups typo * fix(nfd): add missing delete verb to nfd-worker Role * chore(nfd): sync CRD manifest with upstream v0.19.0 * fix(nfd): drop removed gRPC-era flags/ports from nfd-master * fix(nfd): remove leftover crd-controller args block Previous commit added the new args but left the old -crd-controller and -metrics block in place instead of replacing it. * fix(nfd): drop removed gRPC-era flags from nfd-worker * chore(nfd): drop variables no longer read by any template * fix(nfd): align nfd-worker port naming and add health probes * fix(nfd): remove obsolete nfd-master Service * chore(nfd): register removed variables in validate_inventory * fix(nfd): clean up the obsolete Service manifest on disk * fix(nfd): add health probes and http port to nfd-gc * fix(nfd): align nfd-worker env and mounts with upstream
98 lines
2.7 KiB
Django/Jinja
98 lines
2.7 KiB
Django/Jinja
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: node-feature-discovery-master
|
|
namespace: {{ node_feature_discovery_namespace }}
|
|
labels:
|
|
app.kubernetes.io/name: node-feature-discovery
|
|
role: master
|
|
spec:
|
|
replicas: {{ node_feature_discovery_master_replicas }}
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: node-feature-discovery
|
|
role: master
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: node-feature-discovery
|
|
role: master
|
|
spec:
|
|
serviceAccountName: node-feature-discovery
|
|
enableServiceLinks: false
|
|
containers:
|
|
- name: master
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
readOnlyRootFilesystem: true
|
|
runAsNonRoot: true
|
|
image: {{ node_feature_discovery_image_repo }}:{{ node_feature_discovery_image_tag }}
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
failureThreshold: 10
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
env:
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
command:
|
|
- "nfd-master"
|
|
args:
|
|
- "-port=8080"
|
|
{% if node_feature_discovery_master_replicas > 1 %}
|
|
- "-enable-leader-election"
|
|
{% endif %}
|
|
volumeMounts:
|
|
- name: nfd-master-conf
|
|
mountPath: "/etc/kubernetes/node-feature-discovery"
|
|
readOnly: true
|
|
volumes:
|
|
- name: nfd-master-conf
|
|
configMap:
|
|
name: node-feature-discovery-master-conf
|
|
items:
|
|
- key: nfd-master.conf
|
|
path: nfd-master.conf
|
|
affinity:
|
|
nodeAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- preference:
|
|
matchExpressions:
|
|
- key: node-role.kubernetes.io/master
|
|
operator: In
|
|
values:
|
|
- ""
|
|
weight: 1
|
|
- preference:
|
|
matchExpressions:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: In
|
|
values:
|
|
- ""
|
|
weight: 1
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: node-role.kubernetes.io/master
|
|
operator: Equal
|
|
- effect: NoSchedule
|
|
key: node-role.kubernetes.io/control-plane
|
|
operator: Equal
|