fix kube client side error
This commit is contained in:
69
apps/argocd-config/argocd-server-ha-sync-hook.yaml
Normal file
69
apps/argocd-config/argocd-server-ha-sync-hook.yaml
Normal file
@@ -0,0 +1,69 @@
|
||||
# ArgoCD Server HA Patch via Sync Hook
|
||||
# WICHTIG: Dieses Resource wird nach dem Standard-ArgoCD Deployment angewendet
|
||||
# und patcht es für HA
|
||||
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: argocd-server-ha-patch
|
||||
namespace: argocd
|
||||
annotations:
|
||||
# WICHTIG: Sync Hook - wird nach Deployment-Sync ausgeführt
|
||||
argocd.argoproj.io/hook: PostSync
|
||||
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
|
||||
# Sync Wave: Nach ArgoCD Deployment (Wave 0 oder später)
|
||||
argocd.argoproj.io/sync-wave: "1"
|
||||
spec:
|
||||
ttlSecondsAfterFinished: 300 # Job wird nach 5 Minuten gelöscht
|
||||
backoffLimit: 3
|
||||
template:
|
||||
spec:
|
||||
# WICHTIG: argocd-server ServiceAccount hat keine Rechte zum Patchen
|
||||
# Wir verwenden stattdessen default ServiceAccount oder erstellen eine RBAC-Rolle
|
||||
serviceAccountName: argocd-ha-patch
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
- name: kubectl
|
||||
image: bitnami/kubectl:latest
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
set -e
|
||||
echo "Patching argocd-server Deployment für HA..."
|
||||
|
||||
# Patch Replicas auf 2
|
||||
kubectl patch deployment argocd-server -n argocd --type='json' -p='[
|
||||
{"op": "replace", "path": "/spec/replicas", "value": 2}
|
||||
]' || echo "Replicas Patch fehlgeschlagen (möglicherweise bereits 2)"
|
||||
|
||||
# Patch Anti-Affinity
|
||||
kubectl patch deployment argocd-server -n argocd --type='json' -p='[
|
||||
{
|
||||
"op": "add",
|
||||
"path": "/spec/template/spec/affinity",
|
||||
"value": {
|
||||
"podAntiAffinity": {
|
||||
"requiredDuringSchedulingIgnoredDuringExecution": [
|
||||
{
|
||||
"labelSelector": {
|
||||
"matchExpressions": [
|
||||
{
|
||||
"key": "app.kubernetes.io/name",
|
||||
"operator": "In",
|
||||
"values": ["argocd-server"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"topologyKey": "kubernetes.io/hostname"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]' || echo "Affinity Patch fehlgeschlagen"
|
||||
|
||||
echo "✅ ArgoCD Server HA Patch erfolgreich angewendet"
|
||||
|
||||
# Warte auf Rollout
|
||||
kubectl rollout status deployment/argocd-server -n argocd --timeout=300s
|
||||
Reference in New Issue
Block a user