전체 글 (18) 썸네일형 리스트형 GitOps - 브랜치 전략과 폴더 구조, 개발의 상식이 운영의 안티패턴이 되는 이유 개요이전 ArgoCD 시리즈에서는 구축(Helm 기반 설치), Application CR, ApplicationSet까지 "ArgoCD를 어떻게 구성하고 자동화할 것인가"를 정리했습니다. 이번 글에서는 한 단계 앞으로 돌아가, GitOps를 운영할 때 Git 레포지토리의 브랜치 전략과 폴더 구조를 어떻게 잡아야 하는가를 정리합니다. ArgoCD를 실무에 도입하면서 처음에는 개발에서 사용하던 브랜치 전략을 그대로 가져왔습니다. dev, staging, prod 브랜치를 나누고, 각 브랜치 안에서 Kustomize의 overlay 폴더 구조를 유지하는 방식이었습니다. 개발에서 익숙한 방식이었고, 당연히 운영에서도 통할 것이라고 생각했습니다. 그러나 이 구조를 팀원에게 공유하고, 실제로 운영하는 과정에서 여러.. LLM이란? 원리부터 핵심 개념까지 — AI 시대 이해하기 (1편) 개요요즘 AI를 활용하는 사례가 부쩍 늘었고, 일상 곳곳에 들어와 있다는 게 체감됩니다. 지엽적으로 저의 삶을 보면, 현업에서 개발자로 일하면서 AI 없이 개발하는 게 이제는 상상하기 어려울 정도로 개발의 패러다임이 바뀌었다고 느끼고 있습니다. 코드를 작성할 때, 트러블슈팅을 할 때, 문서를 정리할 때 — AI 도구를 쓰지 않는 날이 없습니다. 그러다 보니 자연스럽게 궁금해진 것들이 있습니다. 매일 쓰는 이 AI라는 것이 정확히 어떤 원리로 동작하는지, 요즘 많이 쓰이는 GPT, Claude, Gemini 같은 모델들은 구체적으로 뭐가 다른지, 그리고 이 흐름 속에서 개발자로서 어떤 방향으로 역량을 키워야 하는지. 도구를 쓰기만 하는 것과 원리를 이해하고 쓰는 것 사이에는 분명한 차이가 있다고 생각합니다.. Kubernetes - Nfs pvc 마운트 실패 Trouble Shutting 해결기 개요On-Premise 환경에서 Kubernetes 노드 간의 데이터 공유는 NFS를 활용하여 static pv-pvc방식으로 마운트를 통해 수행하고 있었는데 갑자기 어느 순간부터 특정 노드에 Pod가 배포되면 Init 상태에서 넘어가지 못하는 이슈를 확인했습니다. 클러스터엔 워커 노드가 총 3개였으며 2개의 노드는 계속 잘 배포되고 있어 해당 pod를 디버깅했으나 별다른 로그나 정보가 나와있지 않아 일시적인 이슈인가 싶어 rollout 명령어를 통해 재시작을 해도 해당 노드에선 계속 Pod가 배치될 때마다 Init 상태로 넘어가지 않는 상태가 지속됐습니다. PV-PVC 마운트 상태는 ArgoCD에서 확인한 결과 이상이 없었으나 파드가 구동되는 순간 kubelet이 PVC정보를 통해 마운트를 시도할 때마.. Docker,Kubernetes - nvidia-smi: Failed to initialize NVML: Unknown Error — cgroup 관리 주체 (systemd cgroupfs)로 인한 GPU 접근 권한 상실 이슈 배경/상황 -docker-compose 기반으로 GPU 컨테이너를 상시 운영하는 구성에서, 컨테이너 내부에서 주기적으로 nvidia-smi가 NVML 초기화 실패로 전환되는 문제가 제가 알기 전부터 시작해 1년 이상 반복 발생했습니다.Nvidia Driver(ex: 550) 커널 모듈과 유저스페이스 NVML 라이브러리의 버전을 맞춰도 문제가 지속되어, 버전 호환성만으로 설명되지 않는 케이스로 분류했습니다.커널의 주기적인 업데이트 등으로 라이브러리는 업데이트되었으나 재부팅을 하지 않아 커널 모듈의 버전 호환성이 맞지 않는 경우에도 NVML이슈가 발생될 수 있기 때문입니다.NVML이슈를 끝없이 확인해보며 테스트를 해도 GPU 컨테이너(LLM 엔진)가 분석을 돌다 보면 어느새 NVML이슈가 발생해 이슈를 매번.. 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.. AWS - 동일한 EFS를 여러 PVC로 마운트할 때 발생하는 문제와 해결 배경On-Premise 환경에서 Terraform을 활용해 NFS 기반 Kubernetes 인프라를 AWS EKS로 이관하는 업무를 진행하고 있었습니다. 이관 과정에서 On-Premise 환경에서 사용하는 NFS 기반 공유 스토리지를 EFS로 전환하였습니다.이때 기존의 배포 구조를 활용했고 파드가 하나의 static pv-pvc를 사용하는 것은 문제없이 EFS로 마운트가 가능했었습니다. 하지만 파드가 다수의 static PV–PVC를 사용할 땐 EFS의 제약조건으로 인해 EFS 환경에서 문제가 발생하였습니다.이관 및 구축 과정에서 비용과 일정 리스크를 고려하여, 온프레미스에서 사용하던 구조를 그대로 활용했었는데 사실 AWS에선 dynamic provisoning 으로 pvc를 통해 pv를 생성해 마운트하.. 이전 1 2 3 다음