k8s¶
Einen minimalen Satz an Kubernetes-Services in den aktuellen Cluster einspielen.
Siehe Referenzen → Gemeinsamer Vertrag für
die Konventionen zu USER_WORKING_DIR, Pin-Strategie und Override-Syntax,
die modulübergreifend gelten.
Voraussetzungen¶
kubectl- undhelm-Binaries imPATH.- Ein erreichbarer Kubernetes-Cluster, typischerweise ein über
task kind:startgestarteter kind-Cluster. Der aktuellekubectl-Kontext entscheidet, welcher Cluster die Installation empfängt.
Tasks¶
| Task | Beschreibung |
|---|---|
k8s:bootstrap |
Den vollständigen Bootstrap ausführen (heute: delegiert auf install-argocd). |
k8s:install-argocd |
ArgoCD mit helm template rendern und in den argocd-Namespace applyen. |
install-argocd führt vier Schritte in dieser Reihenfolge aus:
kubectl create namespace argocd || true: idempotent bei Re-Runs.helm repo add argo https://argoproj.github.io/argo-helm: der helm-Client gibt eine Warnung zurück, wenn das Repository bereits unter derselben Adresse registriert ist; ein Fehler tritt nur auf, wenn die Adresse von der registrierten abweicht.helm repo update: aktualisiert den lokalen Index.helm template argocd argo/argo-cd {{.ARGOCD_EXTRA_ARGS}} --namespace=argocd | kubectl --timeout={{.KUBECTL_TIMEOUT}} apply -n argocd -f -: rendert das Chart und applyt es.
Variablen¶
| Variable | Default | Zweck |
|---|---|---|
ARGOCD_EXTRA_ARGS |
"" |
Zusätzliche Argumente, die an helm template argocd argo/argo-cd übergeben werden (zum Beispiel --set global.image.tag=v2.10.0). |
KUBECTL_TIMEOUT |
120s |
Timeout für den kubectl apply-Schritt. |
Beispiel¶
version: '3'
vars:
TASK_COLLECTION_BASE: https://raw.githubusercontent.com/nolte/taskfiles/main/src
includes:
k8s:
taskfile: "{{.TASK_COLLECTION_BASE}}/taskfile-include-k8s.yaml"
vars:
ARGOCD_EXTRA_ARGS: "--set global.image.tag=v2.10.0"
KUBECTL_TIMEOUT: "300s"
task k8s:bootstrap (oder direkt task k8s:install-argocd) aus dem
Arbeitsverzeichnis des Konsumenten aufrufen.
Fehlerbehebung¶
kubectl applyläuft in einen Timeout.KUBECTL_TIMEOUTerhöhen. Langsamere Cluster und größere ArgoCD-Installationen brauchen mehr Puffer als die Default-120s.helm repo addscheitert beim Re-Run. Der helm-Client exit Code ungleich null, wenn dasargo-Repository bereits unter einer anderen Adresse registriert ist. Den konfliktierenden Eintrag mithelm repo remove argoentfernen und den Task erneut ausführen.- Falscher Cluster empfängt die Installation. Der Task nutzt den
aktuellen
kubectl-Kontext.kubectl config current-contextvor dem Bootstrap prüfen.