First pass at scaling to one node.

This commit is contained in:
Joseph Hanson 2024-05-07 13:31:53 -05:00
parent b66ed4e9f8
commit addef45312
Signed by: jahanson
SSH key fingerprint: SHA256:vy6dKBECV522aPAwklFM3ReKAVB086rT3oWwiuiFG7o
19 changed files with 40 additions and 64 deletions

View file

@ -87,7 +87,7 @@ tasks:
"containers": [ "containers": [
{ {
"name": "debug", "name": "debug",
"image": "ghcr.io/onedr0p/alpine:rolling", "image": "docker.io/library/alpine:3.19.1",
"command": ["/bin/bash"], "command": ["/bin/bash"],
"stdin": true, "stdin": true,
"stdinOnce": true, "stdinOnce": true,

View file

@ -39,7 +39,7 @@ spec:
metadata: metadata:
labels: labels:
app.kubernetes.io/name: crunchy-postgres app.kubernetes.io/name: crunchy-postgres
replicas: &replica 3 replicas: &replica 1
dataVolumeClaimSpec: dataVolumeClaimSpec:
storageClassName: openebs-hostpath storageClassName: openebs-hostpath
accessModes: accessModes:

View file

@ -7,7 +7,7 @@ metadata:
app.kubernetes.io/name: dragonfly app.kubernetes.io/name: dragonfly
name: dragonfly name: dragonfly
spec: spec:
replicas: 2 replicas: 1
resources: resources:
requests: requests:
cpu: 500m cpu: 500m

View file

@ -24,7 +24,7 @@ spec:
uninstall: uninstall:
keepHistory: false keepHistory: false
values: values:
replicas: 2 replicas: 1
kind: Deployment kind: Deployment
deschedulerPolicyAPIVersion: descheduler/v1alpha2 deschedulerPolicyAPIVersion: descheduler/v1alpha2
deschedulerPolicy: deschedulerPolicy:

View file

@ -56,7 +56,7 @@ spec:
serviceMonitor: serviceMonitor:
enabled: true enabled: true
admissionController: admissionController:
replicas: 3 replicas: 1
serviceMonitor: serviceMonitor:
enabled: true enabled: true
rbac: rbac:

View file

@ -42,7 +42,7 @@ spec:
metadata: metadata:
labels: labels:
app.kubernetes.io/name: pgo-${APP} app.kubernetes.io/name: pgo-${APP}
replicas: 2 replicas: 1
dataVolumeClaimSpec: dataVolumeClaimSpec:
storageClassName: openebs-hostpath storageClassName: openebs-hostpath
accessModes: accessModes:

View file

@ -28,7 +28,7 @@ spec:
values: values:
controllers: controllers:
cloudflared: cloudflared:
replicas: 2 replicas: 1
strategy: RollingUpdate strategy: RollingUpdate
annotations: annotations:
reloader.stakater.com/auto: "true" reloader.stakater.com/auto: "true"

View file

@ -22,7 +22,7 @@ spec:
valuesKey: MAXMIND_LICENSE_KEY valuesKey: MAXMIND_LICENSE_KEY
values: values:
controller: controller:
replicaCount: 2 replicaCount: 1
updateStrategy: updateStrategy:
type: RollingUpdate type: RollingUpdate
allowSnippetAnnotations: true allowSnippetAnnotations: true

View file

@ -20,7 +20,7 @@ spec:
fullnameOverride: nginx-internal fullnameOverride: nginx-internal
controller: controller:
replicaCount: 3 replicaCount: 1
updateStrategy: updateStrategy:
type: RollingUpdate type: RollingUpdate

View file

@ -29,7 +29,7 @@ spec:
- name: loki - name: loki
namespace: observability namespace: observability
values: values:
replicas: 2 replicas: 1
envFromSecret: grafana-secret envFromSecret: grafana-secret
dashboardProviders: dashboardProviders:
dashboardproviders.yaml: dashboardproviders.yaml:

View file

@ -45,7 +45,7 @@ spec:
- hosts: - hosts:
- *host - *host
alertmanagerSpec: alertmanagerSpec:
replicas: 2 replicas: 1
useExistingSecret: true useExistingSecret: true
configSecret: alertmanager-secret configSecret: alertmanager-secret
storage: storage:
@ -117,7 +117,7 @@ spec:
podMetadata: podMetadata:
annotations: annotations:
secret.reloader.stakater.com/reload: &secret thanos-objstore-config secret.reloader.stakater.com/reload: &secret thanos-objstore-config
replicas: 2 replicas: 1
replicaExternalLabelName: __replica__ replicaExternalLabelName: __replica__
scrapeInterval: 1m # Must match interval in Grafana Helm chart scrapeInterval: 1m # Must match interval in Grafana Helm chart
ruleSelectorNilUsesHelmValues: false ruleSelectorNilUsesHelmValues: false

View file

@ -111,12 +111,12 @@ spec:
analytics: analytics:
reporting_enabled: false reporting_enabled: false
backend: backend:
replicas: 2 replicas: 1
persistence: persistence:
size: 20Gi size: 20Gi
storageClass: openebs-hostpath storageClass: openebs-hostpath
gateway: gateway:
replicas: 2 replicas: 1
image: image:
registry: ghcr.io registry: ghcr.io
ingress: ingress:
@ -130,9 +130,9 @@ spec:
tls: tls:
- hosts: [*host] - hosts: [*host]
read: read:
replicas: 2 replicas: 1
write: write:
replicas: 2 replicas: 1
persistence: persistence:
size: 20Gi size: 20Gi
storageClass: openebs-hostpath storageClass: openebs-hostpath

View file

@ -75,11 +75,11 @@ spec:
storageClass: openebs-hostpath storageClass: openebs-hostpath
size: 10Gi size: 10Gi
query: query:
replicas: 2 replicas: 1
extraArgs: ["--alert.query-url=https://thanos.jahanson.tech"] extraArgs: ["--alert.query-url=https://thanos.jahanson.tech"]
queryFrontend: queryFrontend:
enabled: true enabled: true
replicas: 2 replicas: 1
extraEnv: &extraEnv extraEnv: &extraEnv
- name: THANOS_CACHE_CONFIG - name: THANOS_CACHE_CONFIG
valueFrom: valueFrom:
@ -98,7 +98,7 @@ spec:
configmap.reloader.stakater.com/reload: *configMap configmap.reloader.stakater.com/reload: *configMap
rule: rule:
enabled: true enabled: true
replicas: 2 replicas: 1
extraArgs: ["--web.prefix-header=X-Forwarded-Prefix"] extraArgs: ["--web.prefix-header=X-Forwarded-Prefix"]
alertmanagersConfig: alertmanagersConfig:
value: |- value: |-
@ -120,7 +120,7 @@ spec:
severity: critical severity: critical
persistence: *persistence persistence: *persistence
storeGateway: storeGateway:
replicas: 2 replicas: 1
extraEnv: *extraEnv extraEnv: *extraEnv
extraArgs: ["--index-cache.config=$(THANOS_CACHE_CONFIG)"] extraArgs: ["--index-cache.config=$(THANOS_CACHE_CONFIG)"]
persistence: *persistence persistence: *persistence

View file

@ -26,7 +26,7 @@ spec:
values: values:
controllers: controllers:
vector-aggregator: vector-aggregator:
replicas: 2 replicas: 1
strategy: RollingUpdate strategy: RollingUpdate
annotations: annotations:
reloader.stakater.com/auto: "true" reloader.stakater.com/auto: "true"

View file

@ -49,6 +49,7 @@ spec:
bdev_enable_discard = true bdev_enable_discard = true
bdev_async_discard = true bdev_async_discard = true
osd_class_update_on_start = false osd_class_update_on_start = false
osd_pool_default_size = 1
cephClusterSpec: cephClusterSpec:
network: network:
provider: host provider: host
@ -63,20 +64,7 @@ spec:
storage: storage:
useAllNodes: true useAllNodes: true
useAllDevices: false useAllDevices: false
deviceFilter: "xvdb|nvme1n1|nvme0n1" deviceFilter: "nvme2n1"
placement:
mgr: &placement
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
tolerations: # allow mgr to run on control plane nodes
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
mon: *placement
resources: resources:
mgr: mgr:
requests: requests:
@ -103,8 +91,6 @@ spec:
- name: ceph-blockpool - name: ceph-blockpool
spec: spec:
failureDomain: host failureDomain: host
replicated:
size: 3
storageClass: storageClass:
enabled: true enabled: true
name: ceph-block name: ceph-block
@ -130,12 +116,8 @@ spec:
- name: ceph-filesystem - name: ceph-filesystem
spec: spec:
metadataPool: metadataPool:
replicated:
size: 3
dataPools: dataPools:
- failureDomain: host - failureDomain: host
replicated:
size: 3
name: data0 name: data0
metadataServer: metadataServer:
activeCount: 1 activeCount: 1
@ -171,13 +153,8 @@ spec:
spec: spec:
metadataPool: metadataPool:
failureDomain: host failureDomain: host
replicated:
size: 3
dataPool: dataPool:
failureDomain: host failureDomain: host
erasureCoded:
dataChunks: 2
codingChunks: 1
preservePoolsOnDelete: true preservePoolsOnDelete: true
gateway: gateway:
port: 80 port: 80

View file

@ -18,7 +18,7 @@ spec:
namespace: flux-system namespace: flux-system
values: values:
installCRDs: true installCRDs: true
replicaCount: 3 replicaCount: 1
leaderElect: true leaderElect: true
serviceMonitor: serviceMonitor:
enabled: true enabled: true

View file

@ -34,7 +34,7 @@ spec:
metadata: metadata:
labels: labels:
app.kubernetes.io/name: pgo-${APP} app.kubernetes.io/name: pgo-${APP}
replicas: 2 replicas: 1
dataVolumeClaimSpec: dataVolumeClaimSpec:
storageClassName: openebs-hostpath storageClassName: openebs-hostpath
accessModes: accessModes:

View file

@ -3,19 +3,19 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
name: disk-wipe-one name: disk-wipe-one
namespace: rook-ceph namespace: kube-system
spec: spec:
restartPolicy: Never restartPolicy: Never
nodeName: talos-ltk-p4a nodeName: shadowfax
containers: containers:
- name: disk-wipe - name: disk-wipe
image: ghcr.io/onedr0p/alpine:3.19.1@sha256:3fbc581cb0fe29830376161ae026e2a765dcc11e1747477fe9ebf155720b8638 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}
env: env:
- name: CEPH_DISK - name: CEPH_DISK
value: "/dev/xvdb" value: "/dev/nvme2n1"
command: command:
[ [
"/bin/sh", "/bin/sh",
@ -34,4 +34,3 @@ spec:
- name: host-var - name: host-var
hostPath: hostPath:
path: /var path: /var

View file

@ -9,7 +9,7 @@ spec:
nodeName: talos-fki-fmf nodeName: talos-fki-fmf
containers: containers:
- name: disk-wipe - name: disk-wipe
image: ghcr.io/onedr0p/alpine:3.19.1@sha256:3fbc581cb0fe29830376161ae026e2a765dcc11e1747477fe9ebf155720b8638 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}
@ -46,7 +46,7 @@ spec:
nodeName: talos-xuc-f2e nodeName: talos-xuc-f2e
containers: containers:
- name: disk-wipe - name: disk-wipe
image: ghcr.io/onedr0p/alpine:3.19.1@sha256:3fbc581cb0fe29830376161ae026e2a765dcc11e1747477fe9ebf155720b8638 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}
@ -83,7 +83,7 @@ spec:
nodeName: talos-opy-6ij nodeName: talos-opy-6ij
containers: containers:
- name: disk-wipe - name: disk-wipe
image: ghcr.io/onedr0p/alpine:3.19.1@sha256:3fbc581cb0fe29830376161ae026e2a765dcc11e1747477fe9ebf155720b8638 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}