카테고리 없음

[kubernetes] 데브옵스 한방 정리

모클 2025. 6. 17. 16:17
해당 포스팅은 인프런강의 [쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2] 를 기반으로 작성했습니다. 

DevOps에서 가장 중요한 것

 1. 개발 환경

  • 개발자는 Windows/Mac 환경에서 작업.
  • 개발 언어 및 프레임워크: Java (예: Spring)
  • JDK: OpenJDK 사용
  • 개발 툴: IntelliJ 등 빌드/실행 도구
  • 출력물: JAR 파일 (code + lib 포함)
  • 빌드 도구: Gradle or Maven 사용
  • 소스 관리: GitHub

 2. CI/CD 환경

  • 개발자가 GitHub에 Push한 코드를 기준으로 자동 빌드/배포 수행
  • 소스 빌드
  • 컨테이너 빌드: Docker를 사용하여 컨테이너 이미지 생성
  • 이미지 업로드: Docker Hub에 업로드
  • 배포: Kubernetes 클러스터에 배포

 3. 인프라 환경

  • dev(개발환경 
  • qa(테스트 환경)
  • prod(운영환경) 

 기존 방식과의 차이

  • 기존: JAR 파일을 직접 복사하여 실행
  • 변경: 컨테이너 기반 배포로 전환

 전체 흐름 요약

  1. 개발자가 Java로 코드 작성 → JAR 생성
  2. GitHub에 Push → CI/CD에서 소스 빌드 & Docker 컨테이너 빌드
  3. Docker Hub에 이미지 업로드
  4. 운영환경(dev/qa/prod)에 Kubernetes로 배포 또는 파일 복사
  5. 외부 사용자는 실행 파일(JAR) 또는 컨테이너를 통해 서비스 이용

DevOps를구성하는 오픈소스들 

DevOps를구성하는 오픈소스들 

  • GitOps : 파이프라인을 Git 하나로 통일 하는 Ops
  • DevSecOps : 보안까지 자동화 (Sonarqube) 많이 씀
  • MLOps: 머신러닝 을 위한 DevOps
  • LLMops : Chatgpt 같은 방대한 규모에 특화된 Ops
  • FinOps : 클라우드 환경 비용 절감에 포커스