64 lines
2.3 KiB
Django/Jinja
64 lines
2.3 KiB
Django/Jinja
---
|
|
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: local-volume-provisioner
|
|
namespace: {{ local_volume_provisioner_namespace }}
|
|
labels:
|
|
k8s-app: local-volume-provisioner
|
|
version: {{ local_volume_provisioner_image_tag }}
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
k8s-app: local-volume-provisioner
|
|
version: {{ local_volume_provisioner_image_tag }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
k8s-app: local-volume-provisioner
|
|
version: {{ local_volume_provisioner_image_tag }}
|
|
spec:
|
|
priorityClassName: {% if local_volume_provisioner_namespace == 'kube-system' %}system-node-critical{% else %}k8s-cluster-critical{% endif %}{{''}}
|
|
serviceAccountName: local-volume-provisioner
|
|
{% if local_volume_provisioner_tolerations %}
|
|
tolerations:
|
|
{{ local_volume_provisioner_tolerations | to_nice_yaml(indent=2) | indent(width=8) }}
|
|
{% endif %}
|
|
containers:
|
|
- name: provisioner
|
|
image: {{ local_volume_provisioner_image_repo }}:{{ local_volume_provisioner_image_tag }}
|
|
imagePullPolicy: {{ k8s_image_pull_policy }}
|
|
securityContext:
|
|
privileged: true
|
|
env:
|
|
- name: MY_NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
- name: MY_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
volumeMounts:
|
|
- name: local-volume-provisioner
|
|
mountPath: /etc/provisioner/config
|
|
readOnly: true
|
|
- mountPath: /dev
|
|
name: provisioner-dev
|
|
{% for class_name, class_config in local_volume_provisioner_storage_classes.items() %}
|
|
- name: local-volume-provisioner-hostpath-{{ class_name }}
|
|
mountPath: {{ class_config.mount_dir }}
|
|
mountPropagation: "HostToContainer"
|
|
{% endfor %}
|
|
volumes:
|
|
- name: local-volume-provisioner
|
|
configMap:
|
|
name: local-volume-provisioner
|
|
- name: provisioner-dev
|
|
hostPath:
|
|
path: /dev
|
|
{% for class_name, class_config in local_volume_provisioner_storage_classes.items() %}
|
|
- name: local-volume-provisioner-hostpath-{{ class_name }}
|
|
hostPath:
|
|
path: {{ class_config.host_dir }}
|
|
{% endfor %}
|