From 8297d43b12a795e3124064e57e0d1a384d5bcc27 Mon Sep 17 00:00:00 2001 From: Tanguy Herbron Date: Tue, 3 Jan 2023 01:09:08 +0100 Subject: [PATCH] feat(env): Add development environment When working on the development cluster, setup a kustomize environment to enable or disable services dynamicly, and include some dev specific variables (LoadBalancerIP, domain name etc.) --- Makefile | 2 + environments/dev/kustomization.yaml | 13 ++++++ .../dev/traefik-internal-service.yaml | 7 +++ res/kustomization.yaml | 1 + traefik/traefik-internal/service.yaml | 46 ++++++++----------- 5 files changed, 42 insertions(+), 27 deletions(-) create mode 100644 Makefile create mode 100644 environments/dev/kustomization.yaml create mode 100644 environments/dev/traefik-internal-service.yaml diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f503d22 --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +dev: + kubectl apply -k environments/dev --prune=true --all diff --git a/environments/dev/kustomization.yaml b/environments/dev/kustomization.yaml new file mode 100644 index 0000000..2c58179 --- /dev/null +++ b/environments/dev/kustomization.yaml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml + - ../../metallb + - ../../res + - https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml + - ../../longhorn + - ../../traefik + +patchesStrategicMerge: + - ../../environments/dev/traefik-internal-service.yaml diff --git a/environments/dev/traefik-internal-service.yaml b/environments/dev/traefik-internal-service.yaml new file mode 100644 index 0000000..0853eb8 --- /dev/null +++ b/environments/dev/traefik-internal-service.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Service +metadata: + name: traefik-internal + namespace: default +spec: + loadBalancerIP: 10.10.0.42 diff --git a/res/kustomization.yaml b/res/kustomization.yaml index 65bb3a8..b70a57f 100644 --- a/res/kustomization.yaml +++ b/res/kustomization.yaml @@ -2,5 +2,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: + - ovh-config.yaml - flat-sc.yaml - redundant-sc.yaml diff --git a/traefik/traefik-internal/service.yaml b/traefik/traefik-internal/service.yaml index 6a7e2ff..1011981 100644 --- a/traefik/traefik-internal/service.yaml +++ b/traefik/traefik-internal/service.yaml @@ -1,30 +1,22 @@ ---- -# Source: traefik/templates/service.yaml apiVersion: v1 -kind: List +kind: Service metadata: name: traefik-internal -items: - - apiVersion: v1 - kind: Service - metadata: - name: traefik-internal - labels: - app.kubernetes.io/name: traefik-inter - app.kubernetes.io/instance: traefik-inter - annotations: - spec: - type: LoadBalancer - loadBalancerIP: 10.10.0.28 - selector: - app.kubernetes.io/name: traefik-inter - app.kubernetes.io/instance: traefik-inter - ports: - - port: 80 - name: web - targetPort: "web" - protocol: TCP - - port: 443 - name: websecure - targetPort: "websecure" - protocol: TCP + namespace: default + labels: + app.kubernetes.io/name: traefik-inter + app.kubernetes.io/instance: traefik-inter +spec: + type: LoadBalancer + selector: + app.kubernetes.io/name: traefik-inter + app.kubernetes.io/instance: traefik-inter + ports: + - port: 80 + name: web + targetPort: "web" + protocol: TCP + - port: 443 + name: websecure + targetPort: "websecure" + protocol: TCP