매일 오전 9시에 QA 클러스터의 Node·Pod 상태와 컨테이너 취약점(CVE)을 점검하고 Teams로 보고하는 운영 도구가 필요했다. 요구사항과 검증 기준은 직접 정의하고, 코드 초안 작성과 반복적인 빌드·배포 명령에는 Cursor CLI와 MCP를 활용했다.

매일 Teams로 전송되는 클러스터 브리핑

이 도구가 매일 정해진 시각에 Teams로 보내는 클러스터 상태·노드 브리핑.

무엇을, 무엇으로

  • 목표: 매일 09:00 QA 클러스터 Node/Pod 상태 + 컨테이너 CVE 점검 → Teams 리포팅
  • 스택: Go 1.22, Docker, Helm, Trivy, AKS
  • 작업 환경: Cursor CLI (터미널 기반 AI 에이전트)
  • MCP 활용 범위: Cursor CLI가 승인된 로컬 도구와 인프라 명령을 실행

MCP를 연결하면서 Cursor CLI가 코드 제안뿐 아니라 승인된 범위에서 빌드·배포·조회 명령을 실행할 수 있었다. 실행 권한과 대상 클러스터는 사전에 제한했고, 변경 결과는 직접 검토했다.

누가 무엇을 했나

작업은 다음과 같이 나눴다.

직접 수행한 작업

  • 점검 범위와 리포트 형식 등 요구사항 정의
  • 클러스터 접근 범위, 배포 방식과 검증 기준 결정
  • Teams Workflow Webhook 준비 및 자격증명 관리
  • 생성된 코드·Helm 차트·명령 검토와 최종 배포 판단

Cursor CLI를 활용한 작업

  • 프로젝트 뼈대와 Go 코드 초안 작성
  • Dockerfile·Helm 차트·배포 명령 초안 생성
  • 승인된 명령 실행과 로그 수집
  • 오류 원인 후보 제시 및 수정안 작성
  • 반복적인 git 명령과 문서 정리

어떻게 시켰나

처음에는 .cursorrules에 프로젝트 규칙을 명시했다. 새 요구사항을 이 파일에 반영하고, 구현 과정에서도 해당 규칙을 기준으로 판단하도록 작업 절차를 정했다.

"Go로 K8s 클러스터 내 Pod 정보를 수집하고, Trivy로 보안 스캔을 수행하는 툴을 만들 거야. 결과는 Teams Webhook으로 보내줘. 프로젝트 구조를 생성하고 Dockerfile까지 작성해."

이 요청을 바탕으로 Cursor CLI가 main.go, go.mod, Dockerfile과 의존성의 초안을 만들었다. 생성된 코드와 권한 범위를 검토한 뒤 수정 작업을 이어 갔다.

배포도 터미널에서 그대로 이어졌다.

"현재 디렉터리의 Dockerfile을 빌드해서 사내 레지스트리에 push해줘. 그 다음 Helm Chart를 만들어서 QA 클러스터에 배포해."

Cursor CLI가 docker build/push, Helm 템플릿 생성, helm install 명령을 제안하고 승인된 순서에 따라 실행했다.

로그 수집부터 재배포까지 연결한 디버깅

배포 실패 시 상태 조회와 로그 수집부터 수정안 작성까지 한 세션에서 이어지도록 요청했다.

"배포된 Pod가 정상적으로 뜨지 않아. 현재 상태를 확인하고, 로그를 분석해서 원인을 파악한 뒤 코드를 수정해서 재배포해줘."

Cursor CLI는 kubectl get podskubectl logs를 실행해 ConfigMap 파싱 오류를 원인 후보로 제시했다. 제안된 Config 로딩 로직 수정안을 검토한 뒤 이미지를 다시 빌드하고 helm upgrade를 실행했다. 마지막으로 Pod 상태와 리포트 전송 결과를 확인했다. 로그 수집·수정안 작성·재배포 명령을 한 흐름으로 연결한 덕분에 명령을 수동으로 전환하는 시간이 줄었다.

정량 효과

구분기존 (엔지니어 단독)AI 에이전트 활용효과
소요 시간약 16시간 (2 M/D)약 2.5시간84% 단축
작업 방식코드 ↔ 터미널 ↔ 검색 반복단일 터미널 대화형 일괄 처리컨텍스트 스위칭 최소화
디버깅로그 → 검색 → 수정 → 재배포로그 수집·원인 후보·수정안을 한 세션에서 처리트러블슈팅 단축

그래서 얻은 결론

요구사항과 검증 기준을 먼저 정한 뒤 코드 초안과 반복 명령 실행에 Cursor CLI를 활용하니 운영 도구 개발 시간이 줄었다. 다만 인프라 접근 권한을 도구에 제공하는 만큼 명령 승인 범위, 자격증명 관리와 배포 후 검증은 엔지니어의 책임으로 남는다.

복잡한 작업일수록 구체적인 요구사항과 제한 조건이 필요했다. .cursorrules 같은 규칙 파일도 코드와 함께 형상 관리해야 결과를 재현할 수 있었다. 규칙 파일만으로 정확성을 보장할 수는 없으므로 코드 리뷰, 제한된 실행 권한과 배포 후 확인 절차를 함께 적용했다.


참고