From 2d892f7215ce6f7cbfff043ed0fadc2dfb5d6a64 Mon Sep 17 00:00:00 2001 From: Gorden Date: Mon, 19 Feb 2024 10:02:19 +0100 Subject: [PATCH] added files for deployment --- Distribution/Namespace.yaml | 5 +++ Distribution/PersistantVolumeClaim.yaml | 12 +++++++ Distribution/README.md | 4 --- Distribution/RegistryDeployment.yaml | 44 +++++++++++++++++++++++++ Distribution/Service.yaml | 14 ++++++++ Distribution/StorageClass.yaml | 16 +++++++++ Distribution/kustomization.yaml | 12 +++++++ Distribution/patch_nfs_details.yaml | 22 +++++++++++++ 8 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 Distribution/Namespace.yaml create mode 100644 Distribution/PersistantVolumeClaim.yaml create mode 100644 Distribution/RegistryDeployment.yaml create mode 100644 Distribution/Service.yaml create mode 100644 Distribution/StorageClass.yaml create mode 100644 Distribution/kustomization.yaml create mode 100644 Distribution/patch_nfs_details.yaml diff --git a/Distribution/Namespace.yaml b/Distribution/Namespace.yaml new file mode 100644 index 0000000..e472c2a --- /dev/null +++ b/Distribution/Namespace.yaml @@ -0,0 +1,5 @@ +# Namespace.yaml +apiVersion: v1 +kind: Namespace +metadata: + name: distribution-sc \ No newline at end of file diff --git a/Distribution/PersistantVolumeClaim.yaml b/Distribution/PersistantVolumeClaim.yaml new file mode 100644 index 0000000..22873ca --- /dev/null +++ b/Distribution/PersistantVolumeClaim.yaml @@ -0,0 +1,12 @@ +# PersistantVolumeClaim.yaml +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: distribution-pvc +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 100Gi + storageClassName: distribution \ No newline at end of file diff --git a/Distribution/README.md b/Distribution/README.md index a8dcf9e..2d24909 100644 --- a/Distribution/README.md +++ b/Distribution/README.md @@ -34,7 +34,6 @@ metadata: ``` ```yaml ---- # StorageClass.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass @@ -54,7 +53,6 @@ mountOptions: ``` ```yaml ---- # PersistantVolumeClaim.yaml apiVersion: v1 kind: PersistentVolumeClaim @@ -156,7 +154,6 @@ metadata: name: distribution-service namespace: distribution spec: - type: LoadBalancer selector: run: registry ports: @@ -164,7 +161,6 @@ spec: protocol: TCP port: 5000 targetPort: 5000 - loadBalancerIP: 192.168.202.5 ``` ### Deployment diff --git a/Distribution/RegistryDeployment.yaml b/Distribution/RegistryDeployment.yaml new file mode 100644 index 0000000..d1442ff --- /dev/null +++ b/Distribution/RegistryDeployment.yaml @@ -0,0 +1,44 @@ +# RegistryDeployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + run: registry + name: registry + namespace: distribution +spec: + replicas: 1 + selector: + matchLabels: + run: registry + template: + metadata: + labels: + run: registry + spec: + nodeSelector: + node-type: worker + containers: + - name: registry + image: registry:2 + ports: + - containerPort: 5000 + env: + - name: REGISTRY_HTTP_TLS_CERTIFICATE + value: "/certs/tls.crt" + - name: REGISTRY_HTTP_TLS_KEY + value: "/certs/tls.key" + volumeMounts: + - name: registry-certs + mountPath: "/certs" + readOnly: true + - name: registry-data + mountPath: /var/lib/registry + subPath: registry + volumes: + - name: registry-certs + secret: + secretName: registry-cert + - name: registry-data + persistentVolumeClaim: + claimName: distribution-pvc \ No newline at end of file diff --git a/Distribution/Service.yaml b/Distribution/Service.yaml new file mode 100644 index 0000000..5788b43 --- /dev/null +++ b/Distribution/Service.yaml @@ -0,0 +1,14 @@ +# Service.yaml +apiVersion: v1 +kind: Service +metadata: + name: distribution-service + namespace: distribution +spec: + selector: + run: registry + ports: + - name: registry-tcp + protocol: TCP + port: 5000 + targetPort: 5000 \ No newline at end of file diff --git a/Distribution/StorageClass.yaml b/Distribution/StorageClass.yaml new file mode 100644 index 0000000..0690c31 --- /dev/null +++ b/Distribution/StorageClass.yaml @@ -0,0 +1,16 @@ +# StorageClass.yaml +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: distribution +provisioner: nfs.csi.k8s.io +parameters: + server: 192.168.202.50 + share: /srv/distribution/ + # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume + # csi.storage.k8s.io/provisioner-secret-name: "mount-options" + # csi.storage.k8s.io/provisioner-secret-namespace: "default" +reclaimPolicy: Delete +volumeBindingMode: Immediate +mountOptions: + - nfsvers=4.1 \ No newline at end of file diff --git a/Distribution/kustomization.yaml b/Distribution/kustomization.yaml new file mode 100644 index 0000000..d2d3426 --- /dev/null +++ b/Distribution/kustomization.yaml @@ -0,0 +1,12 @@ +# kustomizastion.yaml +namespace: distribution-sc +bases: + - github.com/kubernetes-sigs/nfs-subdir-external-provisioner//deploy +resources: + - Namespace.yaml + - StorageClass.yaml + - PersistantVolumeClaim.yaml + - RegistryDeployment.yaml + - Service.yaml +patchesStrategicMerge: + - patch_nfs_details.yaml \ No newline at end of file diff --git a/Distribution/patch_nfs_details.yaml b/Distribution/patch_nfs_details.yaml new file mode 100644 index 0000000..02d6f5e --- /dev/null +++ b/Distribution/patch_nfs_details.yaml @@ -0,0 +1,22 @@ +# patch_nfs_details.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: nfs-client-provisioner + name: nfs-distribution-provisioner +spec: + template: + spec: + containers: + - name: nfs-distribution-provisioner + env: + - name: NFS_SERVER + value: 192.168.202.50 + - name: NFS_PATH + value: /srv/distribution/ + volumes: + - name: nfs-distribution-root + nfs: + server: 192.168.202.50 + path: /srv/distribution/ \ No newline at end of file