Browse Source

Allow configuration of nodelabels in local_volume_provisioner (#6620)

pull/6759/head
Lukas Grossar 4 years ago
committed by GitHub
parent
commit
a870dd368e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 0 deletions
  1. 4
      inventory/sample/group_vars/k8s-cluster/addons.yml
  2. 5
      roles/kubernetes-apps/external_provisioner/local_volume_provisioner/defaults/main.yml
  3. 6
      roles/kubernetes-apps/external_provisioner/local_volume_provisioner/templates/local-volume-provisioner-cm.yml.j2

4
inventory/sample/group_vars/k8s-cluster/addons.yml

@ -33,6 +33,10 @@ local_path_provisioner_enabled: false
# Local volume provisioner deployment
local_volume_provisioner_enabled: false
# local_volume_provisioner_namespace: kube-system
# local_volume_provisioner_nodelabels:
# - kubernetes.io/hostname
# - topology.kubernetes.io/region
# - topology.kubernetes.io/zone
# local_volume_provisioner_storage_classes:
# local-storage:
# host_dir: /mnt/disks

5
roles/kubernetes-apps/external_provisioner/local_volume_provisioner/defaults/main.yml

@ -1,5 +1,10 @@
---
local_volume_provisioner_namespace: "kube-system"
# List of node labels to be copied to the PVs created by the provisioner
local_volume_provisioner_nodelabels: []
# - kubernetes.io/hostname
# - topology.kubernetes.io/region
# - topology.kubernetes.io/zone
# Levarages Ansibles string to Python datatype casting. Otherwise the dict_key isn't substituted
# see https://github.com/ansible/ansible/issues/17324
local_volume_provisioner_storage_classes: |

6
roles/kubernetes-apps/external_provisioner/local_volume_provisioner/templates/local-volume-provisioner-cm.yml.j2

@ -16,6 +16,12 @@ metadata:
name: local-volume-provisioner
namespace: {{ local_volume_provisioner_namespace }}
data:
{% if local_volume_provisioner_nodelabels | length > 0 %}
nodeLabelsForPV: |
{% for nodelabel in local_volume_provisioner_nodelabels %}
- {{ nodelabel }}
{% endfor %}
{% endif %}
storageClassMap: |
{% for class_name, storage_class in local_volume_provisioner_storage_classes.items() %}
{{ class_name }}:

Loading…
Cancel
Save