4fb8adb9e4
* Makes local volume provisioner more dynamic * Correct variable name in local storage provisioner defaults * Updates external-provisioner readme * Updates variable naming to be more clear, more documentation, fixes sample inventory * Variable refactor, untangled some jinja2 loops * Corrects variable name * No variable substitution in dict keys, replaced with anchor * Fixes default storage_classes dict, inline docs * Fixes spelling in inline docs * Addresses comments in review * Updates all the defaults * Fix failing CI task * Fixes external provisioner daemonset
60 lines
2.1 KiB
Django/Jinja
60 lines
2.1 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:
|
|
{% if kube_version is version('v1.11.1', '>=') %}
|
|
priorityClassName: {% if local_volume_provisioner_namespace == 'kube-system' %}system-node-critical{% else %}k8s-cluster-critical{% endif %}{{''}}
|
|
{% endif %}
|
|
serviceAccountName: local-volume-provisioner
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
operator: Exists
|
|
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
|
|
{% for class_name, class_config in local_volume_provisioner_storage_classes.iteritems() %}
|
|
- 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
|
|
{% for class_name, class_config in local_volume_provisioner_storage_classes.iteritems() %}
|
|
- name: local-volume-provisioner-hostpath-{{ class_name }}
|
|
hostPath:
|
|
path: {{ class_config.host_dir }}
|
|
{% endfor %}
|