저는 git-ops에 대해 관심이 너무 많습니다.
대부분의 Git은 웹페이지로도 접근 가능하고, VS code와 같은 도구에서도 푸시, 커밋 등을 작업할 수 있죠.

지금 저도 Openshift 관련 직업을 갖고 있다보니 Argo CD를 활용해서 Git ops를 구현했습니다.
이것을 내 블로그와 집 kubernete에도 적용할 방법이 없을까 고민 해봤습니다.

고민한 이유는 제 환경은 Openshift가 아니기 때문이죠.
Openshift는 Openshift 계정으로 Argo CD에 로그인할수 있는데 반해,
Rancher를 사용하는 저는 Argo CD 계정을 따로 관리해야 했습니다.

그리고 Rancher도 자체적으로 CD를 지원하기도 했구요.
바로 Fleet입니다.

작동 영상

바로 결과물부터 보고 가시죠.

좌 상단에는 VS code를 사용하여 git을 관리하고 있습니다.
우상단은 Rancher dashboarrd를 통하여 Continuous Delivery의 Conditions를 보여드리고 있습니다.
하단에서는 Pods가 생성되고 지워지는 것을 알수 있습니다.

결론: Git-ops는 Argo CD 쓰세요.

지금은 추천하지 않습니다.
가장 큰 이유는 API 서버가 무조건 Rancher 도메인을 가리키기 때문입니다.

Rancher 도메인은 제가 외부에서 접근하기 위한 도메인입니다.
당연히 보안이 되어있어서 443 포트를 통한 HTTPS 통신은 가능하지만, Kubernetes API는 접근 불가능합니다.

Fleet에는 Git을 확인하고 Kubernetes 클러스터에 Yaml파일을 적용하는 Pod가 있을것입니다.

이런 Pod는 Kubernetes는 내부 통신을 하면 좋은데,
왜 굳이 외부 도메인을 이용해야 하는지 모르겠습니다.

그래서 다르게 생각했던 것은.. Rancher 자체를 내부 통신 가능한 도메인으로 생성한 후,
Rancher Ingress에 외부 도메인을 추가하는 방법이었습니다.

그러나 아시겠지만 rancher ingress를 포함해서 대부분의 Rancher 구성요소는 Helm에 의해 관리 됩니다.
업데이트 되면 다시 설정해야 할수도 있죠.

그래도 Rancher 도메인으로 Kubernetes API 통신이 가능한 환경을 위해서 구성 방법을 설명 드리려고 합니다.

사전 준비 사항

Git

저는 Pod로 Kubernetes Cluster 안에 Git을 구현해두었습니다.
Secret마저도 Git-ops로 하고 싶었습니다..ㅎㅎ

Rancher에 내장된 Fleet을 이용하여 Git-ops 설정하기

먼저 좌측의 Continuous Delivery 메뉴에서 Git Repos로 이동합니다.
필시 우상단에서 Cluster를 확인하세요.

Add repo를 눌러서 Git을 추가해주세요.

저는 Self-Healing 무조건 추천합니다.
실수로 git-ops로 생성된 객체를 수정해버리면 이 Repo를 지우고 새로 만들어야 합니다.
수동으로라도 Healing하는 방법이 없어요(22년 10월 기준입니다)

Next를 누르고 Target Namespace도 지정하였습니다.
저는 Namespace 마다 Git을 하나씩 만들어서 연동하였습니다.

끝났습니다.

기다리면 자동으로 구성요소들이 생성 됩니다.

마무리

이제는 Git 관리도구로 Commit 하면 15초 정도 후에 적용 됩니다.

저는 조만간 Argo CD 연구해봐야겠습니다.ㅎㅎ

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock