From 0daf0197d4bf894bfa048641f493f75223d57281 Mon Sep 17 00:00:00 2001 From: Jaro Rivera Date: Tue, 30 Aug 2022 13:36:54 -0400 Subject: [PATCH] Adding nfs --- .../helmrepositories/helmrepository-nfs.yaml | 9 ++ ...figmap-nfs-helm-chart-value-overrides.yaml | 118 ++++++++++++++++++ nfs/helmrelease-nfs.yaml | 21 ++++ nfs/nfs.yaml | 13 ++ 4 files changed, 161 insertions(+) create mode 100644 bootstrap/helmrepositories/helmrepository-nfs.yaml create mode 100644 nfs/configmap-nfs-helm-chart-value-overrides.yaml create mode 100644 nfs/helmrelease-nfs.yaml create mode 100644 nfs/nfs.yaml diff --git a/bootstrap/helmrepositories/helmrepository-nfs.yaml b/bootstrap/helmrepositories/helmrepository-nfs.yaml new file mode 100644 index 0000000..2130689 --- /dev/null +++ b/bootstrap/helmrepositories/helmrepository-nfs.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: source.toolkit.fluxcd.io/v1beta1 +kind: HelmRepository +metadata: + name: nfs-subdir-external-provisioner + namespace: flux-system +spec: + interval: 15m + url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner \ No newline at end of file diff --git a/nfs/configmap-nfs-helm-chart-value-overrides.yaml b/nfs/configmap-nfs-helm-chart-value-overrides.yaml new file mode 100644 index 0000000..f37bddd --- /dev/null +++ b/nfs/configmap-nfs-helm-chart-value-overrides.yaml @@ -0,0 +1,118 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + creationTimestamp: null + name: nfs-helm-chart-value-overrides + namespace: kube-system +data: + values.yaml: |- + replicaCount: 1 + strategyType: Recreate + + image: + repository: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner + tag: v4.0.2 + pullPolicy: IfNotPresent + imagePullSecrets: [] + + nfs: + server: 172.16.10.10 + path: /volume1/k8s + mountOptions: + volumeName: nfs-subdir-external-provisioner-root + # Reclaim policy for the main nfs volume + reclaimPolicy: Retain + + # For creating the StorageClass automatically: + storageClass: + create: true + + # Set a provisioner name. If unset, a name will be generated. + # provisionerName: + + # Set StorageClass as the default StorageClass + # Ignored if storageClass.create is false + defaultClass: false + + # Set a StorageClass name + # Ignored if storageClass.create is false + name: nfs + + # Allow volume to be expanded dynamically + allowVolumeExpansion: true + + # Method used to reclaim an obsoleted volume + reclaimPolicy: Delete + + # When set to false your PVs will not be archived by the provisioner upon deletion of the PVC. + archiveOnDelete: true + + # If it exists and has 'delete' value, delete the directory. If it exists and has 'retain' value, save the directory. + # Overrides archiveOnDelete. + # Ignored if value not set. + onDelete: + + # Specifies a template for creating a directory path via PVC metadata's such as labels, annotations, name or namespace. + # Ignored if value not set. + pathPattern: + + # Set access mode - ReadWriteOnce, ReadOnlyMany or ReadWriteMany + accessModes: ReadWriteOnce + + # Set volume bindinng mode - Immediate or WaitForFirstConsumer + volumeBindingMode: Immediate + + # Storage class annotations + annotations: {} + + leaderElection: + # When set to false leader election will be disabled + enabled: true + + ## For RBAC support: + rbac: + # Specifies whether RBAC resources should be created + create: true + + # If true, create & use Pod Security Policy resources + # https://kubernetes.io/docs/concepts/policy/pod-security-policy/ + podSecurityPolicy: + enabled: false + + # Deployment pod annotations + podAnnotations: {} + + ## Set pod priorityClassName + # priorityClassName: "" + + podSecurityContext: {} + + securityContext: {} + + serviceAccount: + # Specifies whether a ServiceAccount should be created + create: true + + # Annotations to add to the service account + annotations: {} + + # The name of the ServiceAccount to use. + # If not set and create is true, a name is generated using the fullname template + name: + + resources: {} + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + # Additional labels for any resource created + labels: {} \ No newline at end of file diff --git a/nfs/helmrelease-nfs.yaml b/nfs/helmrelease-nfs.yaml new file mode 100644 index 0000000..72d45ef --- /dev/null +++ b/nfs/helmrelease-nfs.yaml @@ -0,0 +1,21 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: nfs-subdir-external-provisioner + namespace: kube-system +spec: + chart: + spec: + chart: nfs-subdir-external-provisioner + version: 4.0.17 + sourceRef: + kind: HelmRepository + name: nfs-subdir-external-provisioner + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: nfs-subdir-external-provisioner + valuesFrom: + - kind: ConfigMap + name: nfs-helm-chart-value-overrides + valuesKey: values.yaml # This is the default, but best to be explicit for clarity diff --git a/nfs/nfs.yaml b/nfs/nfs.yaml new file mode 100644 index 0000000..15bd6b2 --- /dev/null +++ b/nfs/nfs.yaml @@ -0,0 +1,13 @@ +apiVersion: helm.cattle.io/v1 +kind: HelmChart +metadata: + name: nfs + namespace: kube-system +spec: + chart: nfs-subdir-external-provisioner + repo: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner + targetNamespace: kube-system + set: + nfs.server: 172.16.10.10 + nfs.path: /volume1/k8s + storageClass.name: nfs