69 lines
2.6 KiB
YAML
69 lines
2.6 KiB
YAML
---
|
||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||
kind: HelmRelease
|
||
metadata:
|
||
name: proxmox-csi-plugin
|
||
spec:
|
||
chartRef:
|
||
kind: OCIRepository
|
||
name: proxmox-csi-plugin
|
||
interval: 1h
|
||
maxHistory: 3
|
||
install:
|
||
crds: CreateReplace
|
||
remediation:
|
||
retries: 3
|
||
upgrade:
|
||
crds: CreateReplace
|
||
cleanupOnFail: true
|
||
remediation:
|
||
retries: 3
|
||
# При падении upgrade откатываться некуда, если упал первый же релиз:
|
||
# strategy rollback (дефолт) упирается в «missing target release for
|
||
# rollback: cannot remediate failed release», и HelmRelease навсегда
|
||
# залипает в False, сколько его ни форсируй.
|
||
# uninstall снимает упавший релиз, и следующий цикл ставит чарт заново.
|
||
strategy: uninstall
|
||
values:
|
||
# Подключение к Proxmox (url/токен/region) и StorageClass'ы: сам конфиг лежит
|
||
# в Secret'е proxmox-csi-config (файл secret.sops.yaml рядом, шифруется sops).
|
||
existingConfigSecret: proxmox-csi-config
|
||
existingConfigSecretKey: config.yaml
|
||
storageClass:
|
||
# local-zfs = пул rpool (зеркало 2x NVMe) — дефолтный класс: сюда идут
|
||
# Vault, базы и всё, что требует избыточности на уровне дисков.
|
||
- name: proxmox-local-zfs
|
||
storage: local-zfs
|
||
fstype: ext4
|
||
ssd: true
|
||
reclaimPolicy: Delete
|
||
annotations:
|
||
storageclass.kubernetes.io/is-default-class: "true"
|
||
# ssd = большой пул (2 TB, одиночный NVMe) — под bulk-данные.
|
||
- name: proxmox-ssd
|
||
storage: ssd
|
||
fstype: ext4
|
||
ssd: true
|
||
reclaimPolicy: Delete
|
||
controller:
|
||
# Все три ноды — control-plane, поэтому контроллер цепляем туда же
|
||
# (и терпим taint control-plane).
|
||
nodeSelector:
|
||
node-role.kubernetes.io/control-plane: ""
|
||
tolerations:
|
||
- key: node-role.kubernetes.io/control-plane
|
||
effect: NoSchedule
|
||
node:
|
||
tolerations:
|
||
- key: node-role.kubernetes.io/control-plane
|
||
effect: NoSchedule
|
||
- key: karpenter.sh/disrupted
|
||
operator: Exists
|
||
effect: NoSchedule
|
||
- key: node.kubernetes.io/unschedulable
|
||
operator: Exists
|
||
effect: NoSchedule
|
||
- key: node.kubernetes.io/disk-pressure
|
||
operator: Exists
|
||
effect: NoSchedule
|