본문 바로가기

Devops

(9)
GitOps - 브랜치 전략과 폴더 구조, 개발의 상식이 운영의 안티패턴이 되는 이유 개요이전 ArgoCD 시리즈에서는 구축(Helm 기반 설치), Application CR, ApplicationSet까지 "ArgoCD를 어떻게 구성하고 자동화할 것인가"를 정리했습니다. 이번 글에서는 한 단계 앞으로 돌아가, GitOps를 운영할 때 Git 레포지토리의 브랜치 전략과 폴더 구조를 어떻게 잡아야 하는가를 정리합니다. ArgoCD를 실무에 도입하면서 처음에는 개발에서 사용하던 브랜치 전략을 그대로 가져왔습니다. dev, staging, prod 브랜치를 나누고, 각 브랜치 안에서 Kustomize의 overlay 폴더 구조를 유지하는 방식이었습니다. 개발에서 익숙한 방식이었고, 당연히 운영에서도 통할 것이라고 생각했습니다. 그러나 이 구조를 팀원에게 공유하고, 실제로 운영하는 과정에서 여러..
ArgoCD - Application GitOps로 선언 & 자동화하기 (ApplicationSet) 개요2025.11.05 - [Devops] - Argocd - GitOps 활용하기(App of Apps 패턴) 지난 글에선 Application을 GitOps로 관리할 수 있는 App of Apps를 소개했는데 장점도 있지만 명확한 한계가 존재했었고 그 한계를 해결해 주는 ApplicationSet을 소개해드리겠습니다. ApplicationSet은 App of Apps를 이해했던 것 처럼 맥락은 비슷하게 Application을 Git으로 선언해 관리하는 장점들은 똑같이 가진 것뿐 아니라 더 많은 장점을 가지고 있고 ArgoCD가 관리하는 CR인 만큼 단점은 go 문법을 기반으로 한 템플릿과 랜더링 등으로 해결한 것에 있습니다. 유일한 단점이라고 하면 ArgoCD를 처음 구축하고 적용해보고자 하는 사람에..
GitOps – Argo CD 구축 가이드(Helm) 개요이 글은 Helm 기반으로 Argo CD를 설치하고, GitOps 적용을 시작하기 위한 최소 구성을 정리합니다.설치 이후 운영에 필요한 핵심 설정(Repository 연결, Application 생성, Sync 동작 확인)까지를 범위로 합니다.테스트 환경 기준으로 설치 절차를 단계별로 정리하고, 실무 적용 시 필요한 최소 설정까지 함께 정리합니다.환경본 문서 작성 시점에 사용한 도구 및 버전은 다음과 같습니다.Template Rendering Tool: HelmOS: Linux, macOSArgo CD: 3.17 Routing 방식 : NodePort 테스트로 바로 접근해야 하며 Cloud환경이 아니기 때문에 NodePort로 설치하여 접속하겠습니다.HA여부 : Non-HA (추후 HA로 구성할 수 ..
Argocd - Application CR 이해하기 개요2026.01.03 - [Devops] - GitOps – Argo CD 구축 가이드(Helm) 이번 글은 지난 글에 이어 Argo CD의 Application 커스텀 리소스(CR)를 다룹니다. Application은 Git에 정의된 매니페스트를 기준으로 클러스터의 리소스 집합을 관리·동기화하는 Argo CD의 기본 단위입니다. UI에서 설정하는 항목이 Application 스펙의 어떤 필드(source, destination, syncPolicy 등)로 매핑되는지 기준으로 구조를 분해하고, 동일 구성을 YAML로 재현하는 방법까지 정리합니다. 이를 통해 앞으로 설명드릴 App of Apps, ApplicationSet 등을 이해하는데 도움이 될 수 있는 글이 될 수 있으면 좋겠습니다.Applicat..
Iac- Terraform이란? 배경저는 현업에서 DevOps 직무로 일하고 있으며, IaC 도구 중에서는 Ansible을 사용해 왔고 최근에는 Terraform을 통해 Cloud 인프라를 코드로 생성하고 관리하고 있습니다. 과거에는 Terraform을 “알고만” 있던 상태였고, 러닝커브와 시간적 비용을 이유로 AWS 콘솔 중심으로 인프라를 생성·관리해 왔습니다.하지만 운영 환경에서 콘솔 기반 관리의 한계를 실제로 겪은 이후, 인프라는 결국 코드로 남겨야 한다는 판단을 하게 되었고 Terraform을 본격적으로 도입하게 되었습니다. 이 글은 Terraform의 개념을 정리하는 데에도 있지만 제가 직접 겪은 운영 이슈를 기준으로 “Terraform을 쓰지 않으면 왜 문제가 커지는지”와 “그래서 Terraform을 왜 도입해야 하는지”를 ..
Argocd - GitOps 활용하기(App of Apps 패턴) 개요2026.01.03 - [Devops] - Argocd - Application CR 이해하기 지난 글에서는 Argo CD의 기본 단위인 Application CR을 중심으로, Application이 어떤 스펙(source/destination/project 등)으로 구성되고 Argo CD가 이를 기반으로 리소스를 관리·동기화하는 동작원리를 정리했습니다. 하지만 운영 단계로 넘어가면 Application을 서비스/환경 단위로 늘려야 하고, 그 과정에서 Application YAML 자체를 사람이 수동으로 생성·수정·적용하는 흐름이 자주 발생합니다. 이 방식은 “배포 정의가 Git에 존재하고, 클러스터 변경은 Git 변경을 통해 재현된다”는 GitOps 관점에서 Application 정의의 확장/일관성..
GitOps란? 2부: 정의와 원칙 GitOps는 Git 등 버전 관리 시스템에 선언적으로 정의한 원하는 상태를 진실의 근원으로 삼고, 실행 중인 실제 상태를 지속적으로 관찰·비교한 뒤 차이가 생기면 자동으로 조정하여 일치시키는 방식으로 소프트웨어 애플리케이션과 인프라를 관리하는 운영 방식입니다.상태 조정에는 배포 또는 업데이트를 통해 정의된 상태에 맞게 리소스를 변경하는 것이 포함됩니다.GitOps에선 시스템의 상태와 구성은 버전 관리 저장소의 파일에 완전하게 기술되며, 버전과 이력이 불변 형태로 보존됩니다.Argocd In Actions을 읽고 공신력 있는 사이트들의 말에 따라 GitOps의 원칙을 다음과 같이 정리했습니다.GitOps의 5가지 원칙선언적 구성버전 제어 불변 저장소자동 배포소프트웨어 에이전트제어 루프지금부터 GitOps..
GitOps란? 1부: 왜 GitOps인가 배경저는 현업에서 2년 이상 GitOps라는 관행과 함께 개발 & 운영을 진행하고 있는 개발자입니다. 누군가에겐 이 방법론이 처음일수도, 어색할 수도, 익숙할 수도 있지만 제가 경험하고 공부했던 것들을 토대로앞으로 여러 문서를 정리하기 전 방법론이 먼저 정리가 되어야 할 것 같아 기술하게 되었습니다.개요 GitOps는 2017년에 Flux라는 GitOps 도구의 개발사인 Weaveworks가 도입한 개념입니다. GitOps의 핵심은 상태를 선언적으로 최종 변경은 PR로 라고도 할 수 있습니다.버전 관리·협업·규정 준수·CI/CD 같은 개발 관행을 운영 자동화에 적용하려는 체계 혹은 노력들이라고도 정의되곤 했습니다.GitOps는 관점에 따라 다양한 정의가 존재하여 배우거나 적용하려는 사람들 사이엔 각자 생..