From af83e1783bca7cc0fcee2562c3f586efb74423c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Wed, 16 Aug 2023 10:39:20 +0300 Subject: [PATCH] Clean up operatorlib related stuff --- minio-clusters/README.md | 5 +- minio-clusters/cert.yaml | 13 ++++ minio-clusters/dedicated.yaml | 50 +++----------- minio-clusters/external.yaml | 23 ++++--- minio-clusters/shared.yaml | 60 +++++------------ mysql-clusters/README.md | 6 +- mysql-clusters/application.yaml | 67 +------------------ mysql-clusters/dedicated.yaml | 24 +++++++ mysql-clusters/external.yaml | 22 ++++++ mysql-clusters/shared.yaml | 25 +++++++ mysql-clusters/storageclass.yaml | 11 +++ mysql-operator/README.md | 7 +- postgres-clusters/README.md | 4 +- postgres-clusters/dedicated.yaml | 23 +++++++ .../{application.yaml => pgweb.yaml} | 51 +++----------- postgres-clusters/shared.yaml | 24 +++++++ postgres-clusters/storageclass.yaml | 11 +++ redis-clusters/README.md | 5 +- redis-clusters/application.yaml | 43 ------------ redis-clusters/cache.yaml | 18 +++++ redis-clusters/ephemeral.yaml | 22 ++++++ redis-clusters/persistent.yaml | 25 +++++++ redis-clusters/session.yaml | 0 redis-clusters/storageclass.yaml | 11 +++ storage-class.yaml | 33 --------- 25 files changed, 301 insertions(+), 282 deletions(-) create mode 100644 minio-clusters/cert.yaml create mode 100644 mysql-clusters/dedicated.yaml create mode 100644 mysql-clusters/external.yaml create mode 100644 mysql-clusters/shared.yaml create mode 100644 mysql-clusters/storageclass.yaml create mode 100644 postgres-clusters/dedicated.yaml rename postgres-clusters/{application.yaml => pgweb.yaml} (60%) create mode 100644 postgres-clusters/shared.yaml create mode 100644 postgres-clusters/storageclass.yaml delete mode 100644 redis-clusters/application.yaml create mode 100644 redis-clusters/cache.yaml create mode 100644 redis-clusters/ephemeral.yaml create mode 100644 redis-clusters/persistent.yaml create mode 100644 redis-clusters/session.yaml create mode 100644 redis-clusters/storageclass.yaml diff --git a/minio-clusters/README.md b/minio-clusters/README.md index 973f0b2..d657a13 100644 --- a/minio-clusters/README.md +++ b/minio-clusters/README.md @@ -1,7 +1,8 @@ # minio-clusters -This namespace houses Minio clusters managed by -[Codemowers' Operator Bundle](https://github.com/codemowers/operator-bundle) +This is namespace for Minio clusters managed by Codemowers' sample +[minio-bucket-operator](https://github.com/codemowers/operatorlib/tree/main/samples/minio-bucket-operator) +which is deployed via [ArgoCD](https://argocd.k-space.ee/applications/argocd/minio-bucket-operator) To update bump the `image` tag for the classes and issue: diff --git a/minio-clusters/cert.yaml b/minio-clusters/cert.yaml new file mode 100644 index 0000000..9f2cd2c --- /dev/null +++ b/minio-clusters/cert.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: wildcard-tls + namespace: minio-clusters +spec: + dnsNames: + - "*.minio-clusters.k-space.ee" + issuerRef: + kind: ClusterIssuer + name: default + secretName: wildcard-tls diff --git a/minio-clusters/dedicated.yaml b/minio-clusters/dedicated.yaml index 33b5095..8e9e3a1 100644 --- a/minio-clusters/dedicated.yaml +++ b/minio-clusters/dedicated.yaml @@ -1,51 +1,23 @@ --- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterBucketClass +apiVersion: codemowers.cloud/v1beta1 +kind: MinioBucketClass metadata: name: dedicated + annotations: + kubernetes.io/description: "Dedicated Minio cluster" spec: - targetNamespace: minio-clusters - description: "Dedicated Minio clusters" + reclaimPolicy: Retain replicas: 4 storageClass: minio podSpec: containers: - name: minio - env: - - name: MINIO_PROMETHEUS_AUTH_TYPE - value: public - image: minio/minio:RELEASE.2023-02-17T17-52-43Z - args: - - server - - --address - - 0.0.0.0:9000 - - --console-address - - 0.0.0.0:9001 - ports: - - containerPort: 9000 - name: http - - containerPort: 9001 - name: console - readinessProbe: - httpGet: - path: /minio/health/ready - port: 9000 - initialDelaySeconds: 2 - periodSeconds: 5 - resources: - requests: - cpu: 300m - memory: 1Gi - limits: - cpu: 4000m - memory: 2Gi - volumeMounts: - - name: data - mountPath: /data + image: docker.io/minio/minio:RELEASE.2023-07-18T17-49-40Z@sha256:8879cd0b0c4087817430e21be3ad909d60e9da62fac3e8d9368d9fde51279229 + imagePullPolicy: IfNotPresent nodeSelector: dedicated: storage tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/minio-clusters/external.yaml b/minio-clusters/external.yaml index cd9a614..1acc030 100644 --- a/minio-clusters/external.yaml +++ b/minio-clusters/external.yaml @@ -1,12 +1,13 @@ --- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterBucketClass +apiVersion: codemowers.cloud/v1beta1 +kind: MinioBucketClass metadata: name: external + annotations: + kubernetes.io/description: "External Minio cluster" spec: - description: "Minio instance running on the ZFS storage box" - targetNamespace: minio-clusters - targetCluster: external + reclaimPolicy: Retain + shared: true --- apiVersion: v1 kind: Service @@ -18,8 +19,7 @@ spec: ports: - name: http protocol: TCP - port: 80 - targetPort: 9000 + port: 9000 type: ExternalName --- apiVersion: v1 @@ -32,8 +32,7 @@ spec: ports: - name: http protocol: TCP - port: 80 - targetPort: 9001 + port: 9001 type: ExternalName --- apiVersion: networking.k8s.io/v1 @@ -48,7 +47,7 @@ metadata: external-dns.alpha.kubernetes.io/target: traefik.k-space.ee spec: rules: - - host: minio-cluster-external.k-space.ee + - host: external.minio-clusters.k-space.ee http: paths: - pathType: Prefix @@ -61,6 +60,7 @@ spec: tls: - hosts: - "*.k-space.ee" + secretName: wildcard-tls --- apiVersion: networking.k8s.io/v1 kind: Ingress @@ -74,7 +74,7 @@ metadata: external-dns.alpha.kubernetes.io/target: traefik.k-space.ee spec: rules: - - host: minio-cluster-external-console.k-space.ee + - host: external-console.minio-clusters.k-space.ee http: paths: - pathType: Prefix @@ -87,3 +87,4 @@ spec: tls: - hosts: - "*.k-space.ee" + secretName: wildcard-tls diff --git a/minio-clusters/shared.yaml b/minio-clusters/shared.yaml index 16b6a1b..8207dc3 100644 --- a/minio-clusters/shared.yaml +++ b/minio-clusters/shared.yaml @@ -1,55 +1,27 @@ --- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterBucketClass +apiVersion: codemowers.cloud/v1beta1 +kind: MinioBucketClass metadata: name: shared + annotations: + kubernetes.io/description: "Shared Minio cluster" spec: - description: "Shared Minio cluster" - targetNamespace: minio-clusters - targetCluster: shared - storageClass: minio + reclaimPolicy: Retain + shared: true replicas: 4 + storageClass: minio podSpec: containers: - name: minio - env: - - name: MINIO_PROMETHEUS_AUTH_TYPE - value: public - image: minio/minio:RELEASE.2023-02-17T17-52-43Z - args: - - server - - --address - - 0.0.0.0:9000 - - --console-address - - 0.0.0.0:9001 - ports: - - containerPort: 9000 - name: http - - containerPort: 9001 - name: console - readinessProbe: - httpGet: - path: /minio/health/ready - port: 9000 - initialDelaySeconds: 2 - periodSeconds: 5 - resources: - requests: - cpu: 300m - memory: 1Gi - limits: - cpu: 4000m - memory: 2Gi - volumeMounts: - - name: data - mountPath: /data + image: docker.io/minio/minio:RELEASE.2023-07-18T17-49-40Z@sha256:8879cd0b0c4087817430e21be3ad909d60e9da62fac3e8d9368d9fde51279229 + imagePullPolicy: IfNotPresent nodeSelector: dedicated: storage tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage --- apiVersion: networking.k8s.io/v1 kind: Ingress @@ -63,7 +35,7 @@ metadata: external-dns.alpha.kubernetes.io/target: traefik.k-space.ee spec: rules: - - host: minio-cluster-shared.k-space.ee + - host: shared.minio-clusters.k-space.ee http: paths: - pathType: Prefix @@ -76,6 +48,7 @@ spec: tls: - hosts: - "*.k-space.ee" + secretName: wildcard-tls --- apiVersion: networking.k8s.io/v1 kind: Ingress @@ -89,7 +62,7 @@ metadata: external-dns.alpha.kubernetes.io/target: traefik.k-space.ee spec: rules: - - host: minio-cluster-shared-console.k-space.ee + - host: shared-console.minio-clusters.k-space.ee http: paths: - pathType: Prefix @@ -102,3 +75,4 @@ spec: tls: - hosts: - "*.k-space.ee" + secretName: wildcard-tls diff --git a/mysql-clusters/README.md b/mysql-clusters/README.md index 303f8b4..4c8875b 100644 --- a/mysql-clusters/README.md +++ b/mysql-clusters/README.md @@ -1,6 +1,8 @@ -# MySQL clusters +# MariaDB clusters -This is namespace for MySQL clusters managed by [operatorlib](https://github.com/codemowers/operatorlib/tree/main/samples/mysql-database-operator) +This is namespace for MariaDB clusters managed by Codemowers' sample +[mysql-database-operator](https://github.com/codemowers/operatorlib/tree/main/samples/mysql-database-operator) +which is deployed via [ArgoCD](https://argocd.k-space.ee/applications/argocd/mysql-database-operator) ``` kubectl create namespace mysql-clusters diff --git a/mysql-clusters/application.yaml b/mysql-clusters/application.yaml index 4f3335b..eb93ff6 100644 --- a/mysql-clusters/application.yaml +++ b/mysql-clusters/application.yaml @@ -1,63 +1,4 @@ --- -apiVersion: codemowers.cloud/v1beta1 -kind: MysqlDatabaseClass -metadata: - name: shared - annotations: - kubernetes.io/description: "Shared MySQL cluster" -spec: - reclaimPolicy: Retain - shared: true - replicas: 3 - routers: 2 - storageClass: mysql - podSpec: - containers: - - name: mariadb - image: mariadb:10.9.7@sha256:198c7a5fea3d7285762042a628fe8f83f0a7ccef559605b4cc9502e65210880b - imagePullPolicy: IfNotPresent - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage ---- -apiVersion: codemowers.cloud/v1beta1 -kind: MysqlDatabaseClass -metadata: - name: dedicated - annotations: - kubernetes.io/description: "Dedicated MySQL cluster" -spec: - reclaimPolicy: Retain - replicas: 3 - routers: 2 - storageClass: mysql - podSpec: - containers: - - name: mariadb - image: mariadb:10.9.7@sha256:198c7a5fea3d7285762042a628fe8f83f0a7ccef559605b4cc9502e65210880b - imagePullPolicy: IfNotPresent - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage ---- -apiVersion: codemowers.cloud/v1beta1 -kind: MysqlDatabaseClass -metadata: - name: external - annotations: - kubernetes.io/description: "External MySQL cluster" -spec: - reclaimPolicy: Retain - shared: true ---- apiVersion: v1 kind: ConfigMap metadata: @@ -89,19 +30,15 @@ spec: containers: - name: phpmyadmin image: phpmyadmin/phpmyadmin - volumeMounts: - - name: config - mountPath: /etc/phpmyadmin/config.user.inc.php - subPath: config.user.inc.php ports: - name: web containerPort: 80 protocol: TCP env: - name: PMA_HOSTS - value: mysql-cluster-shared.mysql-clusters,mysql-cluster.authelia,mysql-cluster.etherpad,mariadb.authelia,mariadb.nextcloud,172.20.36.1 + value: shared.mysql-clusters.svc.cluster.local,external.mysql-clusters.svc.cluster.local - name: PMA_PORTS - value: 6446,6446,6446,3306,3306,3306 + value: 3306,3306 - name: PMA_ABSOLUTE_URI value: https://phpmyadmin.k-space.ee/ - name: UPLOAD_LIMIT diff --git a/mysql-clusters/dedicated.yaml b/mysql-clusters/dedicated.yaml new file mode 100644 index 0000000..b5bbfda --- /dev/null +++ b/mysql-clusters/dedicated.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: MysqlDatabaseClass +metadata: + name: dedicated + annotations: + kubernetes.io/description: "Dedicated MySQL cluster" +spec: + reclaimPolicy: Retain + replicas: 3 + routers: 2 + storageClass: mysql + podSpec: + containers: + - name: mariadb + image: mariadb:10.9.7@sha256:198c7a5fea3d7285762042a628fe8f83f0a7ccef559605b4cc9502e65210880b + imagePullPolicy: IfNotPresent + nodeSelector: + dedicated: storage + tolerations: + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/mysql-clusters/external.yaml b/mysql-clusters/external.yaml new file mode 100644 index 0000000..43af6e2 --- /dev/null +++ b/mysql-clusters/external.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: MysqlDatabaseClass +metadata: + name: external + annotations: + kubernetes.io/description: "External MySQL cluster" +spec: + reclaimPolicy: Retain + shared: true +--- +apiVersion: v1 +kind: Service +metadata: + name: external +spec: + type: ExternalName + externalName: 172.20.36.1 + ports: + - name: mysql + port: 3306 + protocol: TCP diff --git a/mysql-clusters/shared.yaml b/mysql-clusters/shared.yaml new file mode 100644 index 0000000..2b010dd --- /dev/null +++ b/mysql-clusters/shared.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: MysqlDatabaseClass +metadata: + name: shared + annotations: + kubernetes.io/description: "Shared MySQL cluster" +spec: + reclaimPolicy: Retain + shared: true + replicas: 3 + routers: 2 + storageClass: mysql + podSpec: + containers: + - name: mariadb + image: mariadb:10.9.7@sha256:198c7a5fea3d7285762042a628fe8f83f0a7ccef559605b4cc9502e65210880b + imagePullPolicy: IfNotPresent + nodeSelector: + dedicated: storage + tolerations: + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/mysql-clusters/storageclass.yaml b/mysql-clusters/storageclass.yaml new file mode 100644 index 0000000..3af0f6d --- /dev/null +++ b/mysql-clusters/storageclass.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: mysql +provisioner: rawfile.csi.openebs.io +reclaimPolicy: Retain +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true +parameters: + fsType: "xfs" diff --git a/mysql-operator/README.md b/mysql-operator/README.md index 58cfe77..1b96cba 100644 --- a/mysql-operator/README.md +++ b/mysql-operator/README.md @@ -1,3 +1,8 @@ +# Oracle MySQL operator + +We have switched to MariaDB operator and this is not actually deployed in the cluster anymore + +``` helm template mysql-operator mysql-operator/mysql-operator --namespace mysql-operator --include-crds > application.yml kubectl apply -n mysql-operator -f application.yml -f application-extras.yml -f networkpolicy-base.yml - +``` diff --git a/postgres-clusters/README.md b/postgres-clusters/README.md index 5731ec5..2da8c43 100644 --- a/postgres-clusters/README.md +++ b/postgres-clusters/README.md @@ -1,6 +1,8 @@ # Postgres clusters -This is namespace for Postgres clusters managed by operator-bundle +This is namespace for Postgres clusters managed by Codemowers' sample +[postgres-database-operator](https://github.com/codemowers/operatorlib/tree/main/samples/postgres-database-operator) +which is deployed via [ArgoCD](https://argocd.k-space.ee/applications/argocd/postgres-database-operator) ``` kubectl create namespace postgres-clusters diff --git a/postgres-clusters/dedicated.yaml b/postgres-clusters/dedicated.yaml new file mode 100644 index 0000000..cc30eff --- /dev/null +++ b/postgres-clusters/dedicated.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: PostgresDatabaseClass +metadata: + name: dedicated + annotations: + kubernetes.io/description: "Dedicated Postgres cluster" +spec: + reclaimPolicy: Retain + replicas: 3 + storageClass: postgres + podSpec: + containers: + - name: postgres + image: postgres:13.11@sha256:0f18de936266e03891e186db616e530e0e4365ef5fb300d4bb27318538b80604 + imagePullPolicy: IfNotPresent + nodeSelector: + dedicated: storage + tolerations: + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/postgres-clusters/application.yaml b/postgres-clusters/pgweb.yaml similarity index 60% rename from postgres-clusters/application.yaml rename to postgres-clusters/pgweb.yaml index 21c5cc5..99f7fdd 100644 --- a/postgres-clusters/application.yaml +++ b/postgres-clusters/pgweb.yaml @@ -1,43 +1,4 @@ --- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterPostgresDatabaseClass -metadata: - name: dedicated -spec: - targetNamespace: postgres-clusters - description: "Dedicated Postgres cluster" - replicas: 3 - routers: 2 - storageClass: postgres - podSpec: - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage ---- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterPostgresDatabaseClass -metadata: - name: shared -spec: - targetCluster: shared - targetNamespace: postgres-clusters - description: "Shared Postgres cluster" - replicas: 3 - routers: 2 - storageClass: postgres - podSpec: - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -74,6 +35,16 @@ spec: port: 8081 targetPort: 8081 --- +apiVersion: codemowers.io/v1alpha1 +kind: OIDCGWMiddlewareClient +metadata: + name: pgweb +spec: + displayName: pgweb + uri: 'https://pgweb.k-space.ee' + allowedGroups: + - k-space:floor +--- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: @@ -84,7 +55,7 @@ metadata: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: "true" external-dns.alpha.kubernetes.io/target: traefik.k-space.ee - traefik.ingress.kubernetes.io/router.middlewares: traefik-sso@kubernetescrd + traefik.ingress.kubernetes.io/router.middlewares: postgres-clusters-pgweb@kubernetescrd spec: rules: - host: pgweb.k-space.ee diff --git a/postgres-clusters/shared.yaml b/postgres-clusters/shared.yaml new file mode 100644 index 0000000..cde6330 --- /dev/null +++ b/postgres-clusters/shared.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: PostgresDatabaseClass +metadata: + name: shared + annotations: + kubernetes.io/description: "Shared Postgres cluster" +spec: + reclaimPolicy: Retain + shared: true + replicas: 3 + storageClass: postgres + podSpec: + containers: + - name: postgres + image: postgres:13.11@sha256:0f18de936266e03891e186db616e530e0e4365ef5fb300d4bb27318538b80604 + imagePullPolicy: IfNotPresent + nodeSelector: + dedicated: storage + tolerations: + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/postgres-clusters/storageclass.yaml b/postgres-clusters/storageclass.yaml new file mode 100644 index 0000000..68ca31f --- /dev/null +++ b/postgres-clusters/storageclass.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: postgres +provisioner: rawfile.csi.openebs.io +reclaimPolicy: Retain +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true +parameters: + fsType: "xfs" diff --git a/redis-clusters/README.md b/redis-clusters/README.md index 45e0447..4a21e65 100644 --- a/redis-clusters/README.md +++ b/redis-clusters/README.md @@ -1,7 +1,8 @@ # Redis clusters -This is namespace for Redis clusters managed by -[Codemowers' Operator Bundle](https://github.com/codemowers/operator-bundle) +This is namespace for Redis clusters managed by Codemowers' sample +[redis-operator](https://github.com/codemowers/operatorlib/tree/main/samples/redis-operator) +which is deployed via [ArgoCD](https://argocd.k-space.ee/applications/argocd/redis-operator) ``` kubectl create namespace redis-clusters diff --git a/redis-clusters/application.yaml b/redis-clusters/application.yaml deleted file mode 100644 index 8701d70..0000000 --- a/redis-clusters/application.yaml +++ /dev/null @@ -1,43 +0,0 @@ ---- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterRedisClass -metadata: - name: persistent -spec: - targetNamespace: redis-clusters - description: "Persistent Redis instance" - replicas: 3 - storageClass: redis - podSpec: - imagePullPolicy: Never - containers: - - name: redis - image: codemowers/keydb:6.3.2 - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage ---- -apiVersion: codemowers.io/v1alpha1 -kind: ClusterRedisClass -metadata: - name: ephemeral -spec: - targetNamespace: redis-clusters - description: "Ephemeral Redis instance" - replicas: 3 - podSpec: - imagePullPolicy: Never - containers: - - name: redis - image: codemowers/keydb:6.3.2 - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage diff --git a/redis-clusters/cache.yaml b/redis-clusters/cache.yaml new file mode 100644 index 0000000..4985816 --- /dev/null +++ b/redis-clusters/cache.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: RedisClass +metadata: + name: cache + annotations: + kubernetes.io/description: "Caching Redis instance" +spec: + reclaimPolicy: Delete + replicas: 1 + podSpec: + containers: + - name: redis + image: docker.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4 + imagePullPolicy: IfNotPresent + args: + - --maxmemory-policy + - volatile-lfu diff --git a/redis-clusters/ephemeral.yaml b/redis-clusters/ephemeral.yaml new file mode 100644 index 0000000..8862384 --- /dev/null +++ b/redis-clusters/ephemeral.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: RedisClass +metadata: + name: ephemeral + annotations: + kubernetes.io/description: "Ephemeral Redis cluster" +spec: + reclaimPolicy: Delete + replicas: 3 + podSpec: + containers: + - name: redis + image: docker.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4 + imagePullPolicy: IfNotPresent + nodeSelector: + dedicated: storage + tolerations: + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/redis-clusters/persistent.yaml b/redis-clusters/persistent.yaml new file mode 100644 index 0000000..163ca0c --- /dev/null +++ b/redis-clusters/persistent.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: codemowers.cloud/v1beta1 +kind: RedisClass +metadata: + name: persistent + annotations: + kubernetes.io/description: "Persistent Redis instance" +spec: + reclaimPolicy: Retain + replicas: 3 + storageClass: redis + podSpec: + containers: + - name: redis + image: docker.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4 + imagePullPolicy: IfNotPresent + args: + - --activedefrag yes + nodeSelector: + dedicated: storage + tolerations: + - effect: NoSchedule + key: dedicated + operator: Equal + value: storage diff --git a/redis-clusters/session.yaml b/redis-clusters/session.yaml new file mode 100644 index 0000000..e69de29 diff --git a/redis-clusters/storageclass.yaml b/redis-clusters/storageclass.yaml new file mode 100644 index 0000000..895482f --- /dev/null +++ b/redis-clusters/storageclass.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: redis +provisioner: rawfile.csi.openebs.io +reclaimPolicy: Retain +volumeBindingMode: WaitForFirstConsumer +allowVolumeExpansion: true +parameters: + fsType: "xfs" diff --git a/storage-class.yaml b/storage-class.yaml index b94eb80..ac61ed5 100644 --- a/storage-class.yaml +++ b/storage-class.yaml @@ -12,17 +12,6 @@ parameters: --- apiVersion: storage.k8s.io/v1 kind: StorageClass -metadata: - name: minio -provisioner: rawfile.csi.openebs.io -reclaimPolicy: Retain -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - fsType: "xfs" ---- -apiVersion: storage.k8s.io/v1 -kind: StorageClass metadata: name: prometheus provisioner: rawfile.csi.openebs.io @@ -34,28 +23,6 @@ parameters: --- apiVersion: storage.k8s.io/v1 kind: StorageClass -metadata: - name: postgres -provisioner: rawfile.csi.openebs.io -reclaimPolicy: Retain -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - fsType: "xfs" ---- -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: mysql -provisioner: rawfile.csi.openebs.io -reclaimPolicy: Retain -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - fsType: "xfs" ---- -apiVersion: storage.k8s.io/v1 -kind: StorageClass metadata: name: woodpecker provisioner: driver.longhorn.io