Add a cluster of thin clients #399
|
@ -7,7 +7,8 @@ resources:
|
||||||
- ./traefik
|
- ./traefik
|
||||||
- ../../common/apps/cert-manager
|
- ../../common/apps/cert-manager
|
||||||
# storage
|
# storage
|
||||||
#- ../../common/apps/openebs
|
- ./snapshot-system/ks.yaml
|
||||||
|
- ./openebs/ks.yaml
|
||||||
# hardware
|
# hardware
|
||||||
- ../../common/apps/nfd/ks.yaml
|
- ../../common/apps/nfd/ks.yaml
|
||||||
- ../../common/apps/intel-gpu/ks.yaml
|
- ../../common/apps/intel-gpu/ks.yaml
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: openebs
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
interval: 5m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: openebs
|
||||||
|
version: 4.1.0
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: openebs
|
||||||
|
namespace: flux-system
|
||||||
|
|
||||||
|
values:
|
||||||
|
openebs-crds:
|
||||||
|
csi:
|
||||||
|
volumeSnapshots:
|
||||||
|
enabled: false
|
||||||
|
keep: false
|
||||||
|
|
||||||
|
# Refer to https://github.com/openebs/dynamic-localpv-provisioner/blob/HEAD/deploy/helm/charts/values.yaml for complete set of values.
|
||||||
|
localpv-provisioner:
|
||||||
|
rbac:
|
||||||
|
create: true
|
||||||
|
localpv:
|
||||||
|
enabled: true
|
||||||
|
hostpathClass:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
# Refer to https://github.com/openebs/mayastor-extensions/blob/v2.7.0/chart/values.yaml for complete set of values.
|
||||||
|
mayastor:
|
||||||
|
enabled: true
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/arch: amd64
|
||||||
|
openebs.io/engine: mayastor
|
||||||
|
csi:
|
||||||
|
node:
|
||||||
|
initContainers:
|
||||||
|
enabled: true
|
||||||
|
etcd:
|
||||||
|
# -- Kubernetes Cluster Domain
|
||||||
|
clusterDomain: cluster.local
|
||||||
|
crds:
|
||||||
|
enabled: false
|
||||||
|
monitoring:
|
||||||
|
enabled: false
|
||||||
|
loki-stack:
|
||||||
|
enabled: false
|
||||||
|
storageClass:
|
||||||
|
nameSuffix: single
|
||||||
|
tolerations:
|
||||||
|
# tolerate control plane
|
||||||
|
- key: "node-role.kubernetes.io/control-plane"
|
||||||
|
operator: "Exists"
|
||||||
|
effect: "NoSchedule"
|
||||||
|
|
||||||
|
engines:
|
||||||
|
local:
|
||||||
|
lvm:
|
||||||
|
enabled: true
|
||||||
|
zfs:
|
||||||
|
enabled: true
|
||||||
|
replicated:
|
||||||
|
mayastor:
|
||||||
|
enabled: true
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: openebs
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1m
|
||||||
|
url: https://openebs.github.io/openebs
|
||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: openebs-monitoring-charts
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1m
|
||||||
|
url: https://openebs.github.io/monitoring
|
|
@ -0,0 +1,7 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repository.yaml
|
||||||
|
- ./helm-release.yaml
|
||||||
|
#- ./monitoring-helm-release.yaml
|
|
@ -0,0 +1,41 @@
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: openebs-monitoring
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
interval: 5m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: openebs-monitoring
|
||||||
|
version: 0.4.13
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: openebs-monitoring-charts
|
||||||
|
namespace: flux-system
|
||||||
|
dependsOn:
|
||||||
|
- name: openebs
|
||||||
|
values:
|
||||||
|
kube-prometheus-stack:
|
||||||
|
install: false
|
||||||
|
|
||||||
|
openebsMonitoringAddon:
|
||||||
|
# this is the only provisioner enabled
|
||||||
|
localPV:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
cStore:
|
||||||
|
enabled: false
|
||||||
|
jiva:
|
||||||
|
enabled: false
|
||||||
|
ndm:
|
||||||
|
enabled: false
|
||||||
|
npd:
|
||||||
|
enabled: false
|
||||||
|
deviceLocalPV:
|
||||||
|
enabled: false
|
||||||
|
lvmLocalPV:
|
||||||
|
enabled: false
|
||||||
|
zfsLocalPV:
|
||||||
|
enabled: false
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: openebs
|
|
@ -0,0 +1,59 @@
|
||||||
|
|
||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: openebs
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
timeout: 5m
|
||||||
|
interval: 10m
|
||||||
|
path: ./kubernetes/thin/apps/openebs/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: home-cluster
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
||||||
|
dependsOn:
|
||||||
|
- name: snapshot-controller
|
||||||
|
namespace: flux-system
|
||||||
|
postBuild:
|
||||||
|
substitute: {}
|
||||||
|
substituteFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: cluster-settings
|
||||||
|
- kind: Secret
|
||||||
|
name: cluster-secrets
|
||||||
|
---
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: openebs-sc
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
timeout: 5m
|
||||||
|
interval: 10m
|
||||||
|
path: ./kubernetes/thin/apps/openebs/storage-class
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: home-cluster
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
||||||
|
dependsOn:
|
||||||
|
- name: openebs
|
||||||
|
namespace: flux-system
|
||||||
|
postBuild:
|
||||||
|
substitute: {}
|
||||||
|
substituteFrom:
|
||||||
|
- kind: ConfigMap
|
||||||
|
name: cluster-settings
|
||||||
|
- kind: Secret
|
||||||
|
name: cluster-secrets
|
|
@ -0,0 +1,8 @@
|
||||||
|
apiVersion: storage.k8s.io/v1
|
||||||
|
kind: StorageClass
|
||||||
|
metadata:
|
||||||
|
name: openebs-dual
|
||||||
|
parameters:
|
||||||
|
protocol: nvmf
|
||||||
|
repl: "2"
|
||||||
|
provisioner: io.openebs.csi-mayastor
|
|
@ -0,0 +1,5 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ./pool.yaml
|
||||||
|
- ./dual-replica-sc.yaml
|
|
@ -0,0 +1,39 @@
|
||||||
|
apiVersion: "openebs.io/v1beta2"
|
||||||
|
kind: DiskPool
|
||||||
|
metadata:
|
||||||
|
name: pool-dorm-controller-d52ycbgv
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
node: dorm-controller-d52ycbgv
|
||||||
|
disks:
|
||||||
|
- /dev/disk/by-id/nvme-SAMSUNG_MZVLB256HAHQ-000H1_S425NX1MA23444
|
||||||
|
---
|
||||||
|
apiVersion: "openebs.io/v1beta2"
|
||||||
|
kind: DiskPool
|
||||||
|
metadata:
|
||||||
|
name: pool-dorm-worker-3ssgwrlx
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
node: dorm-worker-3ssgwrlx
|
||||||
|
disks:
|
||||||
|
- /dev/disk/by-id/nvme-KXG60ZNV256G_TOSHIBA_69CA70CIK34N
|
||||||
|
---
|
||||||
|
apiVersion: "openebs.io/v1beta2"
|
||||||
|
kind: DiskPool
|
||||||
|
metadata:
|
||||||
|
name: pool-dorm-worker-hklqhcrv
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
node: dorm-worker-hklqhcrv
|
||||||
|
disks:
|
||||||
|
- /dev/disk/by-id/nvme-SAMSUNG_MZVLW256HEHP-000L7_S35ENX0K125956
|
||||||
|
---
|
||||||
|
apiVersion: "openebs.io/v1beta2"
|
||||||
|
kind: DiskPool
|
||||||
|
metadata:
|
||||||
|
name: pool-dorm-worker-kgoutccb
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
node: dorm-worker-kgoutccb
|
||||||
|
disks:
|
||||||
|
- /dev/disk/by-id/nvme-SAMSUNG_MZVLW256HEHP-000L7_S35ENX0K173346
|
|
@ -0,0 +1,31 @@
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: snapshot-controller
|
||||||
|
namespace: snapshot-system
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
timeout: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: snapshot-controller
|
||||||
|
version: 3.0.6
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: piraeus
|
||||||
|
namespace: flux-system
|
||||||
|
install:
|
||||||
|
remediation:
|
||||||
|
retries: 3
|
||||||
|
upgrade:
|
||||||
|
cleanupOnFail: true
|
||||||
|
remediation:
|
||||||
|
strategy: rollback
|
||||||
|
retries: 3
|
||||||
|
values:
|
||||||
|
controller:
|
||||||
|
serviceMonitor:
|
||||||
|
create: false # TODO
|
||||||
|
webhook:
|
||||||
|
enabled: false
|
|
@ -0,0 +1,8 @@
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: piraeus
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1m
|
||||||
|
url: https://piraeus.io/helm-charts/
|
|
@ -0,0 +1,6 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ./namespace.yaml
|
||||||
|
- ./helm-repo.yaml
|
||||||
|
- ./helm-release.yaml
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: snapshot-system
|
|
@ -0,0 +1,18 @@
|
||||||
|
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
|
||||||
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||||
|
kind: Kustomization
|
||||||
|
metadata:
|
||||||
|
name: snapshot-controller
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
timeout: 5m
|
||||||
|
interval: 10m
|
||||||
|
path: ./kubernetes/thin/apps/snapshot-controller/app
|
||||||
|
prune: true
|
||||||
|
sourceRef:
|
||||||
|
kind: GitRepository
|
||||||
|
name: home-cluster
|
||||||
|
decryption:
|
||||||
|
provider: sops
|
||||||
|
secretRef:
|
||||||
|
name: sops-gpg
|
Loading…
Reference in New Issue