kubespray/roles/kubernetes-apps/node_feature_discovery/templates/nfd-master.yaml.j2

116 lines
3.4 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:
exec:
command:
- "/usr/bin/grpc_health_probe"
- "-addr=:8080"
initialDelaySeconds: 10
periodSeconds: 10
readinessProbe:
exec:
command:
- "/usr/bin/grpc_health_probe"
- "-addr=:8080"
initialDelaySeconds: 5
periodSeconds: 10
failureThreshold: 10
ports:
- containerPort: 8080
name: grpc
- containerPort: 8081
name: metrics
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
command:
- "nfd-master"
args:
- "-port=8080"
{% if not node_feature_discovery_enable_nodefeature_api %}
- "-enable-nodefeature-api=false"
{% elif node_feature_discovery_master_replicas > 1 %}
- "-enable-leader-election"
{% endif %}
{% if node_feature_discovery_master_crd_controller != none %}
- "-crd-controller={{ node_feature_discovery_master_crd_controller }}"
{% else %}
{% if node_feature_discovery_master_instance %}
## By default, disable crd controller for other than the default instances
- "-crd-controller=false"
{% else %}
## By default, disable crd controller for other than the default instances
- "-crd-controller=true"
{% endif %}
{% endif %}
- "-metrics=8081"
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