From d9c019641ef9ebd78db60cdb78ea29b0d9933008 Mon Sep 17 00:00:00 2001 From: Yannis Zarkadas Date: Wed, 24 Mar 2021 11:20:44 +0200 Subject: [PATCH] chore(manifests): Move metadata to third-party and add overlay for separate db (#5345) * manifests: Add overlay for separate db to metadata Signed-off-by: Yannis Zarkadas * manifests: Refactor kustomizations to use metadata from third-party folder Signed-off-by: Yannis Zarkadas * manifests: Add platform-agnostic-multi-user-legacy env Signed-off-by: Yannis Zarkadas --- .../base/installs/generic/kustomization.yaml | 1 - .../metadata/{ => base}/kustomization.yaml | 0 .../{ => base}/metadata-envoy-deployment.yaml | 0 .../{ => base}/metadata-envoy-service.yaml | 0 .../{ => base}/metadata-grpc-configmap.yaml | 0 .../{ => base}/metadata-grpc-deployment.yaml | 0 .../{ => base}/metadata-grpc-service.yaml | 0 .../metadata/overlays/db/kustomization.yaml | 39 ++++++++++++++ .../overlays/db/metadata-db-deployment.yaml | 52 +++++++++++++++++++ .../metadata/overlays/db/metadata-db-pvc.yaml | 10 ++++ .../overlays/db/metadata-db-service.yaml | 14 +++++ .../base/metadata/overlays/db/params.env | 3 ++ .../db/patches/metadata-grpc-deployment.yaml | 25 +++++++++ .../base/metadata/overlays/db/secrets.env | 2 + .../kustomize/env/azure/kustomization.yaml | 1 + .../kustomize/env/gcp/kustomization.yaml | 1 + .../kustomization.yaml | 19 +++++++ .../kustomization.yaml | 1 + .../env/platform-agnostic/kustomization.yaml | 1 + 19 files changed, 168 insertions(+), 1 deletion(-) rename manifests/kustomize/base/metadata/{ => base}/kustomization.yaml (100%) rename manifests/kustomize/base/metadata/{ => base}/metadata-envoy-deployment.yaml (100%) rename manifests/kustomize/base/metadata/{ => base}/metadata-envoy-service.yaml (100%) rename manifests/kustomize/base/metadata/{ => base}/metadata-grpc-configmap.yaml (100%) rename manifests/kustomize/base/metadata/{ => base}/metadata-grpc-deployment.yaml (100%) rename manifests/kustomize/base/metadata/{ => base}/metadata-grpc-service.yaml (100%) create mode 100644 manifests/kustomize/base/metadata/overlays/db/kustomization.yaml create mode 100644 manifests/kustomize/base/metadata/overlays/db/metadata-db-deployment.yaml create mode 100644 manifests/kustomize/base/metadata/overlays/db/metadata-db-pvc.yaml create mode 100644 manifests/kustomize/base/metadata/overlays/db/metadata-db-service.yaml create mode 100644 manifests/kustomize/base/metadata/overlays/db/params.env create mode 100644 manifests/kustomize/base/metadata/overlays/db/patches/metadata-grpc-deployment.yaml create mode 100644 manifests/kustomize/base/metadata/overlays/db/secrets.env create mode 100644 manifests/kustomize/env/platform-agnostic-multi-user-legacy/kustomization.yaml diff --git a/manifests/kustomize/base/installs/generic/kustomization.yaml b/manifests/kustomize/base/installs/generic/kustomization.yaml index 2599ca34720..a9f69b30143 100644 --- a/manifests/kustomize/base/installs/generic/kustomization.yaml +++ b/manifests/kustomize/base/installs/generic/kustomization.yaml @@ -3,7 +3,6 @@ kind: Kustomization namespace: kubeflow bases: - ../../pipeline -- ../../metadata - ../../cache - ../../cache-deployer resources: diff --git a/manifests/kustomize/base/metadata/kustomization.yaml b/manifests/kustomize/base/metadata/base/kustomization.yaml similarity index 100% rename from manifests/kustomize/base/metadata/kustomization.yaml rename to manifests/kustomize/base/metadata/base/kustomization.yaml diff --git a/manifests/kustomize/base/metadata/metadata-envoy-deployment.yaml b/manifests/kustomize/base/metadata/base/metadata-envoy-deployment.yaml similarity index 100% rename from manifests/kustomize/base/metadata/metadata-envoy-deployment.yaml rename to manifests/kustomize/base/metadata/base/metadata-envoy-deployment.yaml diff --git a/manifests/kustomize/base/metadata/metadata-envoy-service.yaml b/manifests/kustomize/base/metadata/base/metadata-envoy-service.yaml similarity index 100% rename from manifests/kustomize/base/metadata/metadata-envoy-service.yaml rename to manifests/kustomize/base/metadata/base/metadata-envoy-service.yaml diff --git a/manifests/kustomize/base/metadata/metadata-grpc-configmap.yaml b/manifests/kustomize/base/metadata/base/metadata-grpc-configmap.yaml similarity index 100% rename from manifests/kustomize/base/metadata/metadata-grpc-configmap.yaml rename to manifests/kustomize/base/metadata/base/metadata-grpc-configmap.yaml diff --git a/manifests/kustomize/base/metadata/metadata-grpc-deployment.yaml b/manifests/kustomize/base/metadata/base/metadata-grpc-deployment.yaml similarity index 100% rename from manifests/kustomize/base/metadata/metadata-grpc-deployment.yaml rename to manifests/kustomize/base/metadata/base/metadata-grpc-deployment.yaml diff --git a/manifests/kustomize/base/metadata/metadata-grpc-service.yaml b/manifests/kustomize/base/metadata/base/metadata-grpc-service.yaml similarity index 100% rename from manifests/kustomize/base/metadata/metadata-grpc-service.yaml rename to manifests/kustomize/base/metadata/base/metadata-grpc-service.yaml diff --git a/manifests/kustomize/base/metadata/overlays/db/kustomization.yaml b/manifests/kustomize/base/metadata/overlays/db/kustomization.yaml new file mode 100644 index 00000000000..fa67b8a9667 --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/kustomization.yaml @@ -0,0 +1,39 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: kubeflow + +bases: +- ../../base +resources: +- metadata-db-pvc.yaml +- metadata-db-deployment.yaml +- metadata-db-service.yaml + +patchesStrategicMerge: +- patches/metadata-grpc-deployment.yaml + +configMapGenerator: +- name: metadata-db-parameters + envs: + - params.env +secretGenerator: +- name: metadata-db-secrets + envs: + - secrets.env +generatorOptions: + disableNameSuffixHash: true + + +images: +- name: mysql + newName: mysql + newTag: 8.0.3 + +vars: +- name: MLMD_DB_HOST + objref: + kind: Service + name: metadata-db + apiVersion: v1 + fieldref: + fieldpath: metadata.name diff --git a/manifests/kustomize/base/metadata/overlays/db/metadata-db-deployment.yaml b/manifests/kustomize/base/metadata/overlays/db/metadata-db-deployment.yaml new file mode 100644 index 00000000000..f5a7332f44c --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/metadata-db-deployment.yaml @@ -0,0 +1,52 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: metadata-db + labels: + component: db +spec: + selector: + matchLabels: + component: db + replicas: 1 + strategy: + type: Recreate + template: + metadata: + name: db + labels: + component: db + annotations: + sidecar.istio.io/inject: "false" + spec: + containers: + - name: db-container + image: mysql:8.0.3 + args: + - --datadir + - /var/lib/mysql/datadir + envFrom: + - configMapRef: + name: metadata-db-parameters + - secretRef: + name: metadata-db-secrets + ports: + - name: dbapi + containerPort: 3306 + readinessProbe: + exec: + command: + - "/bin/bash" + - "-c" + - "mysql -D $$MYSQL_DATABASE -p$$MYSQL_ROOT_PASSWORD -e 'SELECT 1'" + initialDelaySeconds: 5 + periodSeconds: 2 + timeoutSeconds: 1 + volumeMounts: + - name: metadata-mysql + mountPath: /var/lib/mysql + volumes: + - name: metadata-mysql + persistentVolumeClaim: + claimName: metadata-mysql + diff --git a/manifests/kustomize/base/metadata/overlays/db/metadata-db-pvc.yaml b/manifests/kustomize/base/metadata/overlays/db/metadata-db-pvc.yaml new file mode 100644 index 00000000000..b1c083d9f45 --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/metadata-db-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: metadata-mysql +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/manifests/kustomize/base/metadata/overlays/db/metadata-db-service.yaml b/manifests/kustomize/base/metadata/overlays/db/metadata-db-service.yaml new file mode 100644 index 00000000000..b7a6401714a --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/metadata-db-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: metadata-db + labels: + component: db +spec: + type: ClusterIP + ports: + - port: 3306 + protocol: TCP + name: dbapi + selector: + component: db diff --git a/manifests/kustomize/base/metadata/overlays/db/params.env b/manifests/kustomize/base/metadata/overlays/db/params.env new file mode 100644 index 00000000000..5ab2adb3bb5 --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/params.env @@ -0,0 +1,3 @@ +MYSQL_DATABASE=metadb +MYSQL_PORT=3306 +MYSQL_ALLOW_EMPTY_PASSWORD=true \ No newline at end of file diff --git a/manifests/kustomize/base/metadata/overlays/db/patches/metadata-grpc-deployment.yaml b/manifests/kustomize/base/metadata/overlays/db/patches/metadata-grpc-deployment.yaml new file mode 100644 index 00000000000..03023a3404c --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/patches/metadata-grpc-deployment.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: metadata-grpc-deployment +spec: + template: + spec: + containers: + - name: container + # Remove existing environment variables + env: + - $patch: replace + envFrom: + - configMapRef: + name: metadata-db-parameters + - secretRef: + name: metadata-db-secrets + - configMapRef: + name: metadata-grpc-configmap + args: ["--grpc_port=$(METADATA_GRPC_SERVICE_PORT)", + "--mysql_config_host=$(MLMD_DB_HOST)", + "--mysql_config_database=$(MYSQL_DATABASE)", + "--mysql_config_port=$(MYSQL_PORT)", + "--mysql_config_user=$(MYSQL_USER_NAME)", + "--mysql_config_password=$(MYSQL_ROOT_PASSWORD)"] diff --git a/manifests/kustomize/base/metadata/overlays/db/secrets.env b/manifests/kustomize/base/metadata/overlays/db/secrets.env new file mode 100644 index 00000000000..44ac2ee3980 --- /dev/null +++ b/manifests/kustomize/base/metadata/overlays/db/secrets.env @@ -0,0 +1,2 @@ +MYSQL_USER_NAME=root +MYSQL_ROOT_PASSWORD=test \ No newline at end of file diff --git a/manifests/kustomize/env/azure/kustomization.yaml b/manifests/kustomize/env/azure/kustomization.yaml index 677f79fcaf3..39b9c7d95c6 100644 --- a/manifests/kustomize/env/azure/kustomization.yaml +++ b/manifests/kustomize/env/azure/kustomization.yaml @@ -4,6 +4,7 @@ namespace: kubeflow bases: - ../../base/installs/generic +- ../../base/metadata/base - ../../third-party/argo/installs/namespace - minio-azure-gateway diff --git a/manifests/kustomize/env/gcp/kustomization.yaml b/manifests/kustomize/env/gcp/kustomization.yaml index 6bbe3adc182..e96b88413fb 100644 --- a/manifests/kustomize/env/gcp/kustomization.yaml +++ b/manifests/kustomize/env/gcp/kustomization.yaml @@ -6,6 +6,7 @@ bases: - ../../third-party/application - ../../base/application - ../../base/installs/generic + - ../../base/metadata/base - ../../third-party/argo/installs/namespace - inverse-proxy - minio-gcs-gateway diff --git a/manifests/kustomize/env/platform-agnostic-multi-user-legacy/kustomization.yaml b/manifests/kustomize/env/platform-agnostic-multi-user-legacy/kustomization.yaml new file mode 100644 index 00000000000..a317cb7987e --- /dev/null +++ b/manifests/kustomize/env/platform-agnostic-multi-user-legacy/kustomization.yaml @@ -0,0 +1,19 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: + - ../../base/installs/multi-user + - ../../base/metadata/overlays/db + - ../../third-party/argo/installs/cluster + - ../../third-party/mysql + - ../../third-party/minio + +# Identifier for application manager to apply ownerReference. +# The ownerReference ensures the resources get garbage collected +# when application is deleted. +commonLabels: + application-crd-id: kubeflow-pipelines + +# !!! If you want to customize the namespace, +# please also update base/cache-deployer/cluster-scoped/cache-deployer-clusterrolebinding.yaml +namespace: kubeflow diff --git a/manifests/kustomize/env/platform-agnostic-multi-user/kustomization.yaml b/manifests/kustomize/env/platform-agnostic-multi-user/kustomization.yaml index 7c65e0885b7..3f539689c04 100644 --- a/manifests/kustomize/env/platform-agnostic-multi-user/kustomization.yaml +++ b/manifests/kustomize/env/platform-agnostic-multi-user/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization bases: - ../../base/installs/multi-user + - ../../base/metadata/base - ../../third-party/argo/installs/cluster - ../../third-party/mysql - ../../third-party/minio diff --git a/manifests/kustomize/env/platform-agnostic/kustomization.yaml b/manifests/kustomize/env/platform-agnostic/kustomization.yaml index 3e0c7f3049d..62bda110583 100644 --- a/manifests/kustomize/env/platform-agnostic/kustomization.yaml +++ b/manifests/kustomize/env/platform-agnostic/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization bases: - ../../base/installs/generic + - ../../base/metadata/base - ../../third-party/argo/installs/namespace - ../../third-party/minio - ../../third-party/mysql