forked from k-space/kube
keydb (and redis) is dead
This commit is contained in:
@@ -44,7 +44,7 @@ Static routes for 193.40.103.36/30 have been added in pve nodes to make them com
|
|||||||
|
|
||||||
[^mariadb]: As of 2024-07-30 used by auth, authelia, bitwarden, etherpad, freescout, git, grafana, nextcloud, wiki, woodpecker
|
[^mariadb]: As of 2024-07-30 used by auth, authelia, bitwarden, etherpad, freescout, git, grafana, nextcloud, wiki, woodpecker
|
||||||
|
|
||||||
[^redisdead]: Redis has been replaced as redis-operatori couldn't handle itself: didn't reconcile after reboots, master URI was empty, and clients complained about missing masters. ArgoCD still hosts its own Redis.
|
[^redisdead]: Redis has been replaced as redis-operatori couldn't handle itself: didn't reconcile after reboots, master URI was empty, and clients complained about missing masters. Dragonfly replaces KeyDB.
|
||||||
|
|
||||||
[^mongoproblems]: Mongo problems: Incompatible with rawfile csi (wiredtiger.wt corrupts), complicated resizing (PVCs from statefulset PVC template).
|
[^mongoproblems]: Mongo problems: Incompatible with rawfile csi (wiredtiger.wt corrupts), complicated resizing (PVCs from statefulset PVC template).
|
||||||
|
|
||||||
|
@@ -54,3 +54,5 @@ kubectl label -n argocd secret oidc-client-argocd-owner-secrets app.kubernetes.i
|
|||||||
|
|
||||||
kubectl -n argocd rollout restart deployment/k6-argocd-redis deployment/k6-argocd-repo-server deployment/k6-argocd-server deployment/k6-argocd-notifications-controller statefulset/k6-argocd-application-controller
|
kubectl -n argocd rollout restart deployment/k6-argocd-redis deployment/k6-argocd-repo-server deployment/k6-argocd-server deployment/k6-argocd-notifications-controller statefulset/k6-argocd-application-controller
|
||||||
```
|
```
|
||||||
|
|
||||||
|
WARN: ArgoCD doesn't host its own redis, Dragonfly must be able to independently cold-start.
|
||||||
|
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: redis-clusters
|
|
||||||
namespace: argocd
|
|
||||||
spec:
|
|
||||||
project: k-space.ee
|
|
||||||
source:
|
|
||||||
repoURL: 'git@git.k-space.ee:k-space/kube.git'
|
|
||||||
path: redis-clusters
|
|
||||||
targetRevision: HEAD
|
|
||||||
destination:
|
|
||||||
server: 'https://kubernetes.default.svc'
|
|
||||||
namespace: redis-clusters
|
|
||||||
syncPolicy:
|
|
||||||
automated:
|
|
||||||
prune: true
|
|
||||||
syncOptions:
|
|
||||||
- CreateNamespace=true
|
|
@@ -1,10 +0,0 @@
|
|||||||
# Redis clusters
|
|
||||||
|
|
||||||
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
|
|
||||||
kubectl apply -n redis-clusters -f application.yaml
|
|
||||||
```
|
|
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
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: mirror.gcr.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
args:
|
|
||||||
- --maxmemory-policy
|
|
||||||
- volatile-lfu
|
|
@@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
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: mirror.gcr.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
nodeSelector:
|
|
||||||
dedicated: storage
|
|
||||||
tolerations:
|
|
||||||
- effect: NoSchedule
|
|
||||||
key: dedicated
|
|
||||||
operator: Equal
|
|
||||||
value: storage
|
|
@@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
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: mirror.gcr.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
|
|
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: storage.k8s.io/v1
|
|
||||||
kind: StorageClass
|
|
||||||
metadata:
|
|
||||||
name: redis
|
|
||||||
annotations:
|
|
||||||
kubernetes.io/description: |
|
|
||||||
Storage class for Redis, KeyDB, DragonflyDB and similar applications
|
|
||||||
deployed in highly available fashion utilizing application level
|
|
||||||
replication needing persistent volume for storing the snapshots.
|
|
||||||
This storage class uses XFS, has no block level redundancy and
|
|
||||||
has block device level caching disabled.
|
|
||||||
provisioner: csi.proxmox.sinextra.dev
|
|
||||||
reclaimPolicy: Retain
|
|
||||||
volumeBindingMode: WaitForFirstConsumer
|
|
||||||
allowVolumeExpansion: true
|
|
||||||
parameters:
|
|
||||||
csi.storage.k8s.io/fstype: xfs
|
|
||||||
storage: ks-pvs
|
|
||||||
cache: none
|
|
||||||
ssd: "true"
|
|
@@ -1,12 +1,3 @@
|
|||||||
# KeyDB
|
|
||||||
|
|
||||||
KeyDB can be instantiated by symlinking the generated keydb.yml,
|
|
||||||
in future this could be handled by an operator.
|
|
||||||
|
|
||||||
```
|
|
||||||
helm template keydb enapter/keydb --set persistentVolume.enabled=false > keydb.yml
|
|
||||||
```
|
|
||||||
|
|
||||||
# To regenerate base network policies
|
# To regenerate base network policies
|
||||||
|
|
||||||
It's quite odd there is no better way to generate these.
|
It's quite odd there is no better way to generate these.
|
||||||
|
@@ -143,7 +143,7 @@ metadata:
|
|||||||
name: redis
|
name: redis
|
||||||
annotations:
|
annotations:
|
||||||
kubernetes.io/description: |
|
kubernetes.io/description: |
|
||||||
Storage class for Redis, KeyDB, DragonflyDB and similar applications
|
Storage class for DragonflyDB and similar applications
|
||||||
deployed in highly available fashion utilizing application level
|
deployed in highly available fashion utilizing application level
|
||||||
replication needing persistent volume for storing the snapshots.
|
replication needing persistent volume for storing the snapshots.
|
||||||
This storage class uses XFS, has no block level redundancy and
|
This storage class uses XFS, has no block level redundancy and
|
||||||
|
Reference in New Issue
Block a user