Automatisieren Sie die Kubernetes-Bereitstellung mit ArgoCD

Automatisieren Sie die Kubernetes-Bereitstellung mit ArgoCD

Wir haben ein GitHub-Repository, das alle YAML-Dateien des Kubernetes-Clusters enthält. Wenn wir eine Bereitstellung aktualisieren möchten, bearbeiten wir einfach die YAML-Dateien und übertragen sie auf GitHub.

Leider müssen wir dannkubectl apply -f file.yaml

Wie könnte man die Bereitstellung mit etwas wie ArgoCD oder vielleicht einem anderen CD-Tool automatisieren?

Wir hoffen, einen Workflow-Trigger zu haben, der die Änderungen an der YAML-Datei automatisch auf den Cluster anwendet, sobald sie auf GitHub übertragen wurden.

Das Problem, mit dem wir konfrontiert sind, besteht darin, dass das GitHub-Repo nicht nur für eine bestimmte Bereitstellung gilt und, wie oben erwähnt, alle YAML-Dateien für den gesamten Cluster enthält.

Derzeit glauben wir, dass die einzige Möglichkeit darin bestünde, das gesamte GitHub-Repository mit kubectl anzuwenden, aber das macht keinen Sinn, wenn sich nur eine Datei geändert hat?

Antwort1

Ich würde mir das ansehenFluss. Sie können Flux auf das Stammverzeichnis Ihres Repositorys (oder ein bestimmtes Verzeichnis) verweisen lassen, und es kümmert sich um die Bereitstellung der von Ihnen definierten Manifeste. Es erkennt auch Änderungen. Wenn Sie also eine Änderung an Ihrem Repository vorgenommen haben, wird Flux die Änderungen bereitstellen.

ArgoCD würde auch funktionieren. Aber da Sie erwähnt haben, dass das Repository nicht nur für eine bestimmte Bereitstellung gilt und Manifeste für den gesamten Cluster enthält, könnte Flux in diesem Fall besser funktionieren.

Probieren Sie am besten beide oder ein anderes Tool aus und finden Sie heraus, was für Ihre Arbeitsabläufe am besten funktioniert.

verwandte Informationen