어느 날 파드가 일시적으로 죽다.어느 날, 사내 인프라 미들웨어에서 이상 현상이 발생했다. 간헐적으로 일부 특정 파드가 재기동되는 상황이 반복되고 있었고, 이는 단순한 장애라기보다는 반복적으로 나타나는 패턴성 문제처럼 보였다.재기동되는 파드를 확인해 보니 주로 Harbor와 MinIO가 포함되어 있었다. 특히 Harbor는 내부 CI/CD 파이프라인에서 컨테이너 이미지 레지스트리로 사용되고 있기 때문에, 이 문제가 빌드 프로세스 전반에도 영향을 주고 있었다.문제 원인을 파악해보자.Phase 1: 애플리케이션 로그 확인먼저, 파드 내부 애플리케이션 로그를 확인했다.harbor-core 파드가 SIGTERM 신호를 받아 정상적으로 종료된 로그를 확인할 수 있었지만, 이는 종료 “과정”에 대한 로그일 뿐, 종..
1. 개요최근 Github Action 포스팅 이후, 이번에는 GitLab CI/CD를 간단하게나마 사용해볼 기회가 생겨 정리글을 남기게 되었다. 이번 포스팅에서는 GitLab CI/CD의 기본적인 사용 방법을 간단히 소개하고, 실습을 통해 CI/CD 워크플로우 파일을 작성하고 실행하는 과정을 다뤄보겠다.2. GitLab CICD 란GitLab CI/CD는 GitLab에서 제공하는 강력한 DevOps 도구로, 프로젝트 내에서 코드 변경 사항을 자동으로 테스트, 빌드, 배포할 수 있도록 지원한다. GitLab CI/CD는 GitLab과 통합되어 동작하기 때문에, GitLab 리포지토리와 직접 연결되어 프로젝트 관리와 배포 프로세스를 단순화한다. 또한 Github Actions와 다르게 파이프라인을 작성하고..
개요ArgoCD는 Kubernetes 리소스를 코드화하여 GitOps 방식으로 관리할 수 있는 도구이다. 그러나 정작 ArgoCD 자체를 프로비저닝 하거나 GitOps 환경을 구성하는 과정은 여전히 수작업이 필요하다. 이러한 불편함을 해소하기 위해 등장한 도구가 바로 ArgoCD Autopilot이다. 이를 통해 ArgoCD를 자동 프로비저닝하고 GitOps 환경까지 표준화된 구조로 구성할 수 있다.이번 포스팅에서는 ArgoCD Autopilot의 주요 기능과 사용법을 알아보자.ArgoCD Autopilot 소개ArgoCD Autopilot은 GitOps 기반 배포 도구인 ArgoCD를 간편하게 설치하고 관리할 수 있도록 설계된 도구로 Argo 프로젝트에 포함되어 있다. 단순히 ArgoCD 설치를 자동화..
jib 소개jib는 Google에서 제공하는 Maven/Gradle 플러그인으로, Dockerfile 없이 Java 애플리케이션을 컨테이너 화할 수 있는 도구이다.Jib(지브)라는 의미에 단어의 의미처럼 돛이 배의 방향을 조정하고 민첩성을 높이듯이, jib 플러그인은 Java 애플리케이션 컨테이너화에서 유연성과 속도를 제공한다는 점에서 이름의 상징성과 기능이 일치한다. 주요 특징은 다음과 같다. • Docker 환경 불필요: Docker 데몬 없이 컨테이너 이미지를 생성하고, 바로 Docker 레지스트리에 푸시할 수 있음• 최적화된 이미지 생성: Java 애플리케이션의 디펜던시, 리소스, 코드를 별도 레이어로 관리해 빌드 효율성 극대화.• 간단한 설정: Maven/Gradle 설정 파일에 몇 줄 추가로 ..