ArgoCD 20

ArgoCD 11편 - 클러스터 추가

개요 argo CD는 여러 클러스터를 대상으로 git의 리소스를 sync할 수 있습니다. default 클러스터는argocd가 설치된 클러스터입니다. 클러스터 추가 방법 2가지 방법(token, 인증서)으로 클러스터를 추가할 수 있습니다. Token 설정 apiVersion: v1 kind: Secret metadata: name: mycluster-secret namespace: argocd labels: argocd.argoproj.io/secret-type: cluster type: Opaque stringData: name: mycluster.com server: https://mycluster.com config: | { "bearerToken": "" } 인증서 설정 apiVersion: v1..

연재 시리즈 2023.01.24

ArgoCD 10편 - App of Apps 패턴

App of Apps패턴이란? ArgoCD application을 모아서 관리하는 패턴을 app of apps패턴이라고 합니다. app of app패턴으로 구성된 application을 sync하면 여러 argoCD application을 생성합니다. 생성된 application은 바라보는 git에 저장된 쿠버네티스 리소스를 배포합니다. 언제 사용할까? 여러 application을 관리할 때 사용합니다. 대표적인 예가 공식문서에서 소개하는 cluster bootstrapping입니다. 새롭게 구축한 쿠버네티스 클러스터에 필요한 쿠버네티스 리소스를 빠르게 배포하는 것을 cluster bootstrapping이라고 부릅니다. 필요한 쿠버네티스 리소스를 application으로 정의하고 여러 applicati..

연재 시리즈 2022.12.06

ArgoCD 8편 - Non Cascade 삭제

영상: https://youtu.be/PxLJMM_8hxs 개념 ArgoCD Application을 삭제할 때, 쿠버네티스 리소스는 그대로 두고 Application만 삭제하는 옵션입니다. 디폴트는 ArgoCD Application을 삭제하면 Application에 연결된 쿠버네티스 리소스 전부 삭제됩니다. 예제 HelloWorld예제(https://malwareanalysis.tistory.com/405)글을 참고하여 ArgoCD Application을 생성합니다 kubectl get po,svc | grep argocd Application을 Non Cascade옵션으로 삭제해보겠습니다. Delete버튼을 클릭하면 삭제옵션이 있습니다. 세번째 옵션인 Non Cascade를 선택합니다. Applicat..

연재 시리즈 2022.10.08

ArgoCD 7편 - ArgoCD CLI설치

안녕하세요. 이 글은 AroGD CD CLI설치 방법을 소개합니다. 영상: https://youtu.be/baq7t72JFxM ArgoCD CLI란? kubectl처럼 Argo CD를 CLI로 관리할 수 있습니다. WEB UI보다 더 많은 기능을 조작할 수 있습니다. 설치 Argo CD CLI를 설치하는 방법은 매우 다양합니다. WEB UI설치 방법 가장 간단한 방법은 Web UI에서 바이너리를 다운로드 받는 것입니다. 다운로드 받은 파일은 실행권한을 추가해줘야합니다. 그리고 환경변수 PATH로 설정된 디렉터리로 옮겨주면, 아무 경로에서 Argo CD 명령어를 실행할 수 있습니다. mv ./argocd... ./argocd chmod +x ./argocd sudo mv ./argocd /usr/local..

연재 시리즈 2022.09.17

ArgoCD 6편 - Private Repository

안녕하세요. 이 글은 Argo CD가 private git repo를 어떻게 관리하는지 설명합니다. private repo관리 기능은 버전이 낮은 Argo CD에 버그가 있습니다. 높은 버전 Argo CD를 사용하시길 바랍니다. 영상: https://youtu.be/ZKvXEFnWMU8 개념 Git private repo는 허용된 사용만 접근이 가능하므로, ArgoCD는 Private repo에 접근하기 위해 인증을 관리하는 기능이 있습니다. 설정방법 WEB UI, kubectl, argo CLI로 생성할 수 있습니다. 프로토콜은 HTTPS, SSH를 지원하고 세부설정은 username/password, key pair, TLS certificates가 있습니다. WEB UI 관리 WEB UI에서는 [왼..

연재 시리즈 2022.09.16

ArgoCD 6편 - Phase

안녕하세요. 이 글은 ArgoCD시리즈입니다. 영상: https://youtu.be/-T1p0uy1mxs Phase란? ArgocD sync과정 순서를 phase라고 부르며 3단계(pre sync, sync, post sync)로 진행됩니다. 지금까지 실습했던 예제들은 모드 sync단계에 속합니다. pre-sync와 post sync는 annotations필드에 설정하여 사용할 수 있습니다. phase를 어떻게 활용하지? phase를 활용하면 내부적으로 관리하는 DB업데이트, 알림기능을 구현할 수 있습니다. 지금까지는 단순히 argocd를 git의 의도된 상태를 쿠버네티스에 배포하는 기능으로만 사용했습니다. 비지니스환경에서는 관측성(Observability)을 위해 사내 DB연동, 알림 기능을 argoc..

연재 시리즈 2022.08.30