diff --git a/kustomize/bases/nextcloud/kustomization.yaml b/kustomize/bases/nextcloud/kustomization.yaml index b55ee5e..193323e 100644 --- a/kustomize/bases/nextcloud/kustomization.yaml +++ b/kustomize/bases/nextcloud/kustomization.yaml @@ -5,3 +5,11 @@ bases: resources: - nextcloud-deployment.yaml - nextcloud-ingress.yaml + +commonLabels: + app.kubernetes.io/name: nextcloud + +# TODO +# patchesStrategicmerge: +# - patches/postgres-podaffinity-patch.yaml +# - patches/redis-podaffinity-patch.yaml \ No newline at end of file diff --git a/kustomize/bases/nextcloud/nextcloud-deployment.yaml b/kustomize/bases/nextcloud/nextcloud-deployment.yaml index 29e4a28..0e39e69 100644 --- a/kustomize/bases/nextcloud/nextcloud-deployment.yaml +++ b/kustomize/bases/nextcloud/nextcloud-deployment.yaml @@ -4,6 +4,7 @@ metadata: name: nextcloud labels: app.kubernetes.io/name: nextcloud + app.kubernetes.io/component: server spec: replicas: 1 strategy: @@ -11,22 +12,32 @@ spec: selector: matchLabels: app.kubernetes.io/name: nextcloud + app.kubernetes.io/component: server template: metadata: labels: app.kubernetes.io/name: nextcloud + app.kubernetes.io/component: server spec: affinity: nodeAffinity: - # prefer to not be on a server node (resource contention) preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 preference: matchExpressions: - - key: kubernetes.io/hostname - operator: NotIn - values: - - k3s-s0 + - key: node-role.kubernetes.io/master + operator: DoesNotExist + # podAffinity: + # preferredDuringSchedulingIgnoredDuringExecution: + # - weight: 2 + # podAffinityTerm: + # labelSelector: + # matchExpressions: + # - key: app.kubernetes.io/name + # operator: In + # values: + # - nextcloud + # topologyKey: kubernetes.io/hostname containers: - name: nextcloud image: nextcloud diff --git a/kustomize/bases/nextcloud/patches/postgres-podaffinity-patch.yaml b/kustomize/bases/nextcloud/patches/postgres-podaffinity-patch.yaml new file mode 100644 index 0000000..b7b15cc --- /dev/null +++ b/kustomize/bases/nextcloud/patches/postgres-podaffinity-patch.yaml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: postgres +spec: + template: + spec: + affinity: + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/name + operator: In + values: + - nextcloud + topologyKey: kubernetes.io/hostname \ No newline at end of file diff --git a/kustomize/bases/nextcloud/patches/redis-podaffinity-patch.yaml b/kustomize/bases/nextcloud/patches/redis-podaffinity-patch.yaml new file mode 100644 index 0000000..2da789f --- /dev/null +++ b/kustomize/bases/nextcloud/patches/redis-podaffinity-patch.yaml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis +spec: + template: + spec: + affinity: + podAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + labelSelector: + matchExpressions: + - key: app.kubernetes.io/name + operator: In + values: + - nextcloud + topologyKey: kubernetes.io/hostname \ No newline at end of file diff --git a/kustomize/bases/postgres/postgres-statefulset.yaml b/kustomize/bases/postgres/postgres-statefulset.yaml index cb7f7ec..9e21538 100644 --- a/kustomize/bases/postgres/postgres-statefulset.yaml +++ b/kustomize/bases/postgres/postgres-statefulset.yaml @@ -3,17 +3,17 @@ kind: StatefulSet metadata: name: postgres labels: - app.kubernetes.io/name: postgres + app.kubernetes.io/component: postgres spec: serviceName: postgres selector: matchLabels: - app.kubernetes.io/name: postgres + app.kubernetes.io/component: postgres replicas: 1 template: metadata: labels: - app.kubernetes.io/name: postgres + app.kubernetes.io/component: postgres spec: containers: - name: postgres diff --git a/kustomize/bases/redis/redis-deployment.yaml b/kustomize/bases/redis/redis-deployment.yaml index 11febf8..d942a58 100644 --- a/kustomize/bases/redis/redis-deployment.yaml +++ b/kustomize/bases/redis/redis-deployment.yaml @@ -3,16 +3,16 @@ kind: Deployment metadata: name: redis labels: - app.kubernetes.io/name: redis + app.kubernetes.io/component: redis spec: replicas: 1 selector: matchLabels: - app.kubernetes.io/name: redis + app.kubernetes.io/component: redis template: metadata: labels: - app.kubernetes.io/name: redis + app.kubernetes.io/component: redis spec: containers: - name: redis