Temos um repositório GitHub contendo todos os arquivos yaml do cluster Kubernetes. Quando queremos atualizar uma implantação, simplesmente editamos o yaml e enviamos para o GitHub.
Infelizmente, teremos então quekubectl apply -f file.yaml
Como alguém poderia automatizar a implantação usando algo como ArgoCD ou talvez outra ferramenta de CD?
Esperamos ter um gatilho de fluxo de trabalho que aplique automaticamente as alterações do arquivo YAML ao cluster, uma vez enviado ao GitHub.
O problema que enfrentamos é que o GitHub Repo não é exclusivo para uma implantação específica e, como mencionado acima, contém todos os arquivos YAML de todo o cluster.
Atualmente, acreditamos que a única opção seria kubectl aplicar todo o repositório GitHub, mas isso não faz sentido se apenas um arquivo foi alterado?
Responder1
eu iria investigarFluxo. Você pode apontar o Flux para a raiz do seu repositório (ou um diretório específico) e ele se encarregará de implantar os manifestos que você definiu. Ele também detecta alterações, portanto, se você enviou uma alteração para o seu repositório, o Flux implementará as alterações.
ArgoCD também funcionaria. Mas como você mencionou que o repositório não é exclusivo para uma implantação específica e contém manifestos para todo o cluster, o Flux pode funcionar melhor nesse caso.
É melhor experimentar ambas ou qualquer outra ferramenta e ver o que funciona melhor para seus fluxos de trabalho.