m-cmp / mc-application-manager

Apache License 2.0
2 stars 6 forks source link

Which application are you planning to replace ArgoCD with? #1

Open sykim-etri opened 3 months ago

sykim-etri commented 3 months ago

@pbcccbeatboard-strato README를 보니 ArgoCD의 대체 계획을 가지고 계신 것으로 파악되는데, 혹시 생각하고 계신 애플리케이션은 어떤 것일까요? https://github.com/m-cmp/mc-application-manager/blob/2744c65e10034b3e30f53da49540f9beb6c20c37/README.md?plain=1#L61

pbcccbeatboard-strato commented 3 months ago

k8s배포의 경우 argoCD를 이용한 helm(및 yaml)배포로 진행하려 한 것으로 알고 있습니다. 이전 담당자와 제가 해당 기능을 이미 타 시스템에서 구현해본 경험이 있어 진행하려 한 것으로 예상됩니다.

다만 특정 소프트웨어에 대한 의존성을 최대한 배제하려 현재는 jenkins pipeline 내에서 helm container, kubectl container등을 이용한 특정 k8s로의 배포를 구상하고 있습니다.

또한 2번과정에서 argoCD를 배제한다 해도 해당 클러스터에서 helm이 설치되지 않아 cli 진행도 추가 이슈가 예상됩니다.

yaml의 경우 jenkins에 k8s plugin을 이용하여 apply하는 것은 내부적으로 이미 익숙한 상황입니다만, 이 경우에도 클러스터 생성 후 해당 클러스터의 접속정보를 jenkins에 추가해주는(해당 credential추가) 등의 액션이 필요하여 가능하다면 pipeline내에서 tb를 사용한 cluster access정보 중 kubeconfig를 이용하여 kubectl container를 사용한 cli등의 방법으로 yaml apply pipeline 작성을 테스트하고 있습니다.

helm의 경우 위의 내용은 시도하고 있는 부분이며 애로사항이 클 경우 argoCD사용에 대한 부분을 상의드릴 예정 입니다.

혹시 타겟클러스터에 argoCD가 설치되어있다는 시나리오가 베이스라면 조금 더 무난하게 진행이 가능합니다.

jenkins가 k8s에서 가동한다는 전제라면 저에게 익숙한 방법으로 workflow실행 시 agent를 입맛에 맞게 띄워 여러 기능들을 사용하면 되겠으나, 현재는 vm설치 또는 docker를 가정한 컨테이너 상태의 실행이라 많은 착오를 겪고 있습니다.

위와 같이 argoCD를 사용하지 않는 방향의 helm 및 yaml을 이용한 배포 방법을 구상 및 구현 중 입니다.