71 lines
1.8 KiB
YAML
71 lines
1.8 KiB
YAML
# infrastructure/metallb/helmrelease.yaml
|
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: metallb
|
|
namespace: metallb-system
|
|
spec:
|
|
interval: 30m
|
|
chart:
|
|
spec:
|
|
chart: metallb
|
|
version: 0.15.3
|
|
sourceRef:
|
|
kind: HelmRepository
|
|
name: metallb
|
|
namespace: flux-system
|
|
install:
|
|
crds: CreateReplace
|
|
remediation: { retries: 3 }
|
|
timeout: 10m
|
|
upgrade:
|
|
crds: CreateReplace
|
|
remediation:
|
|
retries: 3
|
|
remediateLastFailure: true
|
|
cleanupOnFail: true
|
|
timeout: 10m
|
|
values:
|
|
loadBalancerClass: metallb
|
|
prometheus:
|
|
metricsPort: 7472
|
|
controller:
|
|
logLevel: info
|
|
webhookMode: enabled
|
|
tlsMinVersion: VersionTLS12
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: hardware
|
|
operator: In
|
|
values:
|
|
- rpi4
|
|
- rpi5
|
|
speaker:
|
|
logLevel: info
|
|
# Atlas uses L2 advertisements; there are no BGP peers or advertisements.
|
|
frr:
|
|
enabled: false
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
readinessProbe:
|
|
timeoutSeconds: 5
|
|
livenessProbe:
|
|
timeoutSeconds: 5
|
|
# Restore eligibility after these offline nodes pass their recovery checks.
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: kubernetes.io/hostname
|
|
operator: NotIn
|
|
values: [titan-05, titan-06]
|