모든 Kubernetes 클러스터 yaml 파일이 포함된 GitHub 저장소가 있습니다. 배포를 업데이트하려면 yaml을 편집하고 GitHub에 푸시하기만 하면 됩니다.
불행하게도 우리는 다음과 같은 일을 해야 합니다.kubectl apply -f file.yaml
ArgoCD나 다른 CD 도구를 사용하여 배포를 어떻게 자동화할 수 있습니까?
GitHub에 푸시되면 YAML 파일 변경 사항을 클러스터에 자동으로 적용하는 워크플로 트리거가 있기를 바랍니다.
우리가 직면한 문제는 GitHub Repo가 특정 배포에 고유하지 않고 위에서 언급한 대로 전체 클러스터에 대한 모든 YAML 파일을 포함한다는 것입니다.
현재 우리는 kubectl이 전체 GitHub 저장소를 적용하는 것이 유일한 옵션이라고 생각합니다. 하지만 파일 하나만 변경된 경우에는 이것이 말이 되지 않습니까?
답변1
나는 조사할 것이다유량. Flux가 저장소(또는 특정 디렉터리)의 루트를 가리키도록 하면 정의한 매니페스트 배포가 처리됩니다. 또한 변경 사항도 감지하므로 저장소에 변경 사항을 푸시하면 Flux가 변경 사항을 롤아웃합니다.
ArgoCD도 작동합니다. 그러나 저장소가 특정 배포에 고유하지 않고 전체 클러스터에 대한 매니페스트를 포함한다고 언급했으므로 이 경우 Flux가 더 잘 작동할 수 있습니다.
둘 다 또는 다른 도구를 사용해 보고 작업 흐름에 가장 적합한 것이 무엇인지 확인하는 것이 가장 좋습니다.