GitAIOps – Cpt9, GitAIOps, 살아있는 운영 표준의 탄생

Activities / Study / GitAIOps

GitAIOps – Cpt9, GitAIOps, 살아있는 운영 표준의 탄생

Kubernetes, AWS, Terraform, Linux 운영 경험을 정리한 기술 블로그입니다.

Summary

  • 저장소 구조, 커밋 이력, 클러스터 상태를 AI와 함께 분석해 2~8장에서 축적한 시스템 전체 회고
  • 도구 선택과 자원 사용량을 되짚고 코드, 운영 문서, AI 컨텍스트가 함께 진화한 과정 확인
  • Git의 이력, AI의 분석, 생성, Ops의 실행, 관측을 결합한 GitAIOps 운영 모델 정리
  • 프로덕션 전환 제안과 실습 클러스터 정리, 최종 문서 갱신으로 전체 여정 마무리

Thoughts

  • 이 책은 바이브코딩이나 AI 도구 강의처럼 이런 설정, 이런 프롬프트를 쓰라는 안내가 아니라, 운영 업무 도중 AI로 개선, 효율화할 수 있는 지점을 짚어주는 데 있음
  • 조직마다 다른 AI 활용
    • 다른 회사/조직의 인프라 엔지니어는 어떤 조건을 걸고 AI를 활용하는지에 대한 궁금증으로 시작
    • 각자 환경이 다르기에 정답을 복제할 순 없음, 자기 조직에서 방법을 하나씩 쌓아가는 과정에 대한 가이드
  • 그 축적을 개인 단위 기록이 아니라 팀 단위 작업 기록으로 어떻게 남기고 유지보수할지에 대한 인사이트

9장. GitAIOps, 살아있는 운영 표준의 탄생

  • 완성된 저장소와 클러스터를 AI에게 분석시켜 지금까지 쌓인 기술, 결정, 운영 지식의 연결 확인

9.1 AI에게 저장소 분석시키기

  • 사람의 기억 대신 저장소 구조, Git 이력, 실제 클러스터 상태를 근거로 현재 시스템 파악

9.1.1 저장소 구조 분석

  • cc에게 현재 구성된 notiflex-platform 저장소 분석 요청
    • 어플리케이션 분석(app/)
      • Go서버, 3개의 엔드포인트, 외부연동(Valkey/Kafka/Otel-Tempo)
    • 인프라 분석 (k8s/)
      • SMB 인프라 (k8s/smb/): Gateway, Rollout 등 배포 및 운영 리소스 전반
      • Enterprise 테넌트 (k8s/enterprise/): 별도 ns에 전용 운영 리소스 배포
      • Kafka (k8s/kafka/): Strimzi Operator 기반 단일 브로커 kafka
      • 모니터링(k8s/monitoring/): Loki/Tempo, PrometheusRule
      • 4개의 노드풀(api-pool/worker-pool/ops-pool/default-pool)에 App of Apps 패턴 관리
    • Github Actions 기바 CI/CD
    • 3계층 문서 구조(CLAUDE.md, JOURNEY.md, docs/) 및 트러블슈팅

현재 구성된 notiflex-platform 저장소 분석

9.1.2 커밋 히스토리 분석

  • cc에게 git 커밋 히스토리 기반 분석 요청
    • 각 장의 실습 결과가 독립 산출물이 아닌 이전 구조 위에 이어진 작은 커밋의 누적
    • Git 이력이 “무엇이 바뀌었는지”와 “어떤 순서로 아키텍처가 성장했는지”를 동시에 제공

git 커밋 히스토리 기반 분석

9.1.3 클러스터 현재 상태

  • cc에게 현재 클러스터 상태 분석 요청
    • ArgoCD Application의 Synced, Healthy 상태 > git과 동기화
    • 4개의 노드풀, 5개 노드에 구성

현재 클러스터 상태 분석

9.2 쌓인 것들을 돌아보기

  • 앞선 저장소 히스토리 분석으로 무엇이 있는지 확인완료, 왜 이렇게 되었는지를 분석

9.2.1 도구 선택 의사결정 종합

  • cc에게 지금까지 쌓인것들 리뷰 요청
    • 각 진행단계별 영역별 선택 도구와 이유 요약
    • GKE 네이티브, 기존 생태계와의 결합, GitOps 선언 가능성이 반복적인 선택 기준

지금까지 쌓인것들 리뷰

9.2.2 자원 사용 현황과 의사결정 회고

  • cc에게 현재 자원 사용량과 할당상태 분석 요청
    • 초기의 default-pool에 CPU 과다하게 집중, 다만 실사용량이 높은것은 아니고 보수적인 리소스산정이 원인

현재 자원 사용량과 할당상태 분석

9.3 기대하지 않았던 효과

  • 실습을 위해 쓴 문서가 사람의 기록을 넘어 AI가 다음 작업을 수행하는 운영 컨텍스트로 전환

9.3.1 살아있는 문서

  • 일반적인 운영 문서는 별도의 Wiki/Notion/Confluence에 작성
    • 작성 시점에는 일치하지만 시간이 지나면서 괴리(drift) 발생
  • notiflex-platform의 문서는 코드와 같은 저장소에 위치, 쉬운 변경사항 업데이트 가능

9.3.2 사람이 보는 문서, AI가 읽는 문서

문서대상활용 방식
docs/JOURNEY.md사람진행 점검, 결정 히스토리 검토
docs/architecture-decisions.md (ADR)사람과 AI결정 누적, 사람이 검토하고 AI가 의사결정 맥락으로 참조
CLAUDE.mdAIAI에게 프로젝트 메타데이터 안내(매 대화 자동 로드)
claude-context/AIAI에게 현재 아키텍처 스냅샷 제공(자동 참조)
.claude/memory/AIAI가 작업 컨텍스트를 떠올리도록
settings.local.jsonAIAI의 명령 실행 동작 제어(자동 적용)
command-guardrails/사람과 AI위험 작업 절차서. 사람도 AI도 따라감
  • 7건 중 6건이 AI 대상 문서
    • 일반적인 운영 문서는 작성시점에만 유효하고 이후 유지보수가 이뤄지지않아 방치됨
    • 현재 문서 구조는 AI를 위해 설계됐고, 매 작업마다 참고 및 업데이트가 이루어짐

9.3.3 이 구조가 만들어내는 것

  • 기반 문서가 현행화되어 관리되기에 새로운 산출물 만들기 용이
    • 온보딩 문서 만들어줘 > 현재 클러스터, 저장소 구조 기반 팀원용 가이드 생성
    • 보안감사 보고서 만들어줘 > 보안 관련 리소스(netpol, RBAC, secret) 관리 상황 분석
  • 운영 표준을 만드려는 별도 공수 대신 AI를 사용한 작업 이력으로 운영 표준 확립 가능
  • AI활용 작업 이력의 패턴화 > GitAIOps

9.4 GitAIOps의 출현

  • GitOps에 AI를 단순 추가한 것이 아니라 운영 전 과정에서 Git, AI, Ops가 상호 피드백하는 방식

9.4.1 Git + AI + Ops 연결 분석

  • cc에게 Git, AI, Ops가 어떻게 연결되는지 분석 요청
    • Git은 선언형 상태, 변경 이력, 의사 결정 등 모든 결정의 저장소
    • AI는 코드와 문서 생성, 문제 분석, 작업 기록의 협업 파트너
    • Ops는 Git 상태를 클러스터에 동기화하는 자동화 구조
  • 운영 결과가 다시 Git의 문서와 설정으로 반영돼 다음 AI 작업의 컨텍스트가 되는 루프 구조

Git, AI, Ops가 어떻게 연결되는지 분석

9.4.2 GitOps와의 차이

  • GitOps는 Git의 원하는 상태와 클러스터 실제 상태의 자동 수렴이 중심
  • GitAIOps는 AI 기반 분석, 도구 비교, 변경 생성, 문서 갱신, 운영 회고까지 포함
항목GitOpsGitAIOps
YAML 작성사람이 직접AI가 자연어로부터 생성
도구 선택사람이 조사하고 결정AI가 추천하고 사람이 확인
문서화별도로 해야 함(보통 빠짐)AI와의 대화가 자동으로 기록
트러블슈팅에러 메시지로 검색AI가 분석하고 해결책 제시
동기화Git → ArgoCD → 클러스터동일

9.4.3 작위적이지 않다

  • 처음부터 GitAIOps라는 구조를 설계한 것이 아니라 장별 문제를 해결하며 필요한 문서와 가드레일이 누적된 결과
    • 배포 불안정 > ArgoCD + CI
    • 장애 원인 파악 어려움 > 모니터링(Prometheus + Loki)
    • 배포시 중단 발생 > Gateway API + Blue/Green
    • 정합성, 보안, 안정성 > Valkey + Secret Manager+ Canary
    • 규모 증가 > 멀티 노드 풀 + 멀티 테넌시
    • 호출 지연 및 실패 대응 > 카프카 + 템포
  • 이름보다 질문 > 비교 > 실행 > 검증 > 기록이라는 반복 패턴이 본질

9.4.4 진행 방향에 따라 달라지는 구조

  • 운영 과정을 경험하며 아래 6가지 자산이 생성됨
    • 영구 누적 자산 (CLAUDE.md, ADR, claude-context/, command-guardrails)
    • 로컬 작업 자산 (.claude/MEMORY.md, settings.local.json)
  • 의도적인 설계가 아닌 필요에 따라 추가, 실제 적용과정에서도 필요에 따라 자산 생성 및 관리
자산도입 시점목적현재 상태
CLAUDE.md3장자연어 규칙과 행동 가이드적용
메모리4장작업 컨텍스트 단편 메모적용(머신 로컬)
docs/architecture-decisions.md (ADR)5장결정 사항 누적 기록적용
claude-context/6장현재 아키텍처의 전체 그림적용
settings.local.json7장명령 차단과 승인 권한 분리미적용(학습 후 되돌림)
command-guardrails/8장위험 작업 실행 절차서적용

9.5 마무리: 다음 단계

  • 실습 환경을 프로덕션 수준으로 발전시키기 위한 과제와 AI 협업 습관 정리

9.5.1 프로덕션 전환 제안

  • cc에게 현재 실습 환경을 프로덕션으로 전환시 보완 대상 분석 질문
    • 보안 및 정책 강화 필요: netpol, OPA/Kyverno/RBAC 세분화
    • 스케일링 전략: pod단위(HPA)/node단위(CA)등 전무, Kafka/Valkey가 단일로 구성되 병목예상
    • 비용/리소스/알림 최적화: 노드간 리소스 불균형/underutilized, 알림 체계 및 파이프라인 구성

현재 실습 환경을 프로덕션으로 전환시 보완 대상 분석

9.5.2 AI와 대화하는 습관

  • 챕터를 누적하며 반복 숙달된 패턴들이 존재
  1. ‘왜?’를 먼저 묻는다
    • xxx 구성해줘 대신 목적에 맞는 도구를 탐색하고 추천과 이유를 검토하여 진행
    • 3-프롬프트 패턴 (탐색>비교>실행)
      • ex) ArgoCD 구성해줘 대신 배포 자동화 도구 추천으로부터 시작
  2. 결정의 기록
    • 도구 선정 이후 시간이 지나면 도입시 검토한 요소와 판단 근거가 휘발됨
    • 같은 저장소안에 의사결정 기록이 남아있어 파악가능
  3. 한번에 하나씩 진행
    • xxx 구성하고 xxx 구성하고 xxx도 만들어줘 대신 한번에 하나씩
    • 단계별로 완료하고 검증하고 다음 단계로 진행하는것이 문제발생시 처리에 유리
  4. 검증의 습관화
    • 작업의 완료 이후 정상적으로 동작하는지 검토 확인
    • 본 교재에서는 result-template로 예상결과와 실제상황 대조

9.5.3 다시 처음부터

  • 유사한?동일한 환경을 재구현시 누적된 기록문서로 인해 빠르고 안전한 작업 가능
    • 이미 구성되었던 리소스는 탐색/비교 생략하고 바로 적용 가능
    • ArgoCD 대신 flux, B/G 대신 바로 Canary 적용등 변형된 프롬프트 적용
    • 가드레일이 쌓여 오작동 및 트러블 슈팅의 가속화

9.6 9장 가드레일 살펴보기

서브챕터유형참조 파일역할
9.1 저장소 분석실행prompt-guardrails/ch9/9.1-repo-analysis.md디렉터리 구조, 커밋, 클러스터 상태 조회
9.2 회고실행prompt-guardrails/ch9/9.2-retrospective.md의사결정 종합, 자원 사용 분석
9.3 온보딩실행prompt-guardrails/ch9/9.3-onboarding.md온보딩 문서 생성, Q&A
9.4 GitAIOps실행prompt-guardrails/ch9/9.4-gitaiops.mdGit+AI+Ops 연결 분석
9.5 마무리실행prompt-guardrails/ch9/9.5-wrap-up.md다음 단계 제안, 환경 초기화
Leave A Comment