본문 바로가기

한화시스템 Beyond SW Camp/데브옵스10

[Jenkins] Kubernetes 환경에 무중단 배포(Blue-Green) Blue-Green 방식 배포두 개의 독립적인 환경(Blue와 Green)을 사용해 업데이트를 수행하는 방식 Blue 환경 (현재 운영 중인 환경) 현재 사용자들이 접속하는 기존의 배포된 환경. Green 환경 (새로운 버전의 환경)새로운 버전의 애플리케이션을 배포하는 환경 배포 과정1단계 : Blue 환경에서 현재 운영 중인 버전이 실행되고 있을 때 Green 환경에 새로운 버전의 애플리케이션을 배포2단계 : 새로운 버전(새로운 코드)이 Green 환경에서 정상적으로 작동하는지 확인3단계 : Green 환경에서의 배포가 성공적으로 끝나면 로드 밸런서나 DNS 등의 트래픽 라우팅 방법을 통해 사용자 트래픽을 Blue 환경에서 Green 환경으로 전환4단계 : 모든 트래픽이 Green 환경으로 전환되면 B.. 2025. 3. 20.
[Jenkins] Jenkins 설치, GitHub 웹훅을 사용한 자동 배포 Jenkins란?CI/CD(지속적 통합 및 지속적 배포) 툴 CI (지속적 통합, Continuous Integration) : Jenkins는 개발자들이 작성한 코드를 자주 통합하고 그 통합된 코드가 자동으로 빌드되고 테스트되도록 도와준다. 이를 통해 개발자들이 코드 변경 사항을 빠르게 통합하여 버그를 조기에 발견하고, 품질을 개선할 수 있다. CD (지속적 배포, Continuous Delivery 또는 Continuous Deployment) : Jenkins는 빌드된 애플리케이션을 자동으로 테스트하고 배포 환경에 배포하는 작업을 자동화한다. 이는 자동화된 파이프라인을 통해 빠르고 안전하게 배포가 이루어지게 도와준다.Jenkins 설치레포지토리 추가curl -fsSL https://pkg.jenki.. 2025. 3. 19.
[Kubernetes] Deployment Deployment쿠버네티스에서 애플리케이션을 배포하고 관리하는데 사용하는 객체Deployment가 복제본을 관리하고 스케일링, 업그레이드 등 작업을 할 수 있게 도와준다. Deployment의 역할애플리케이션 상태 유지 : 설정한 복제본 수만큼 항상 해당 수 파드를 유지하려고 한다.자동화 롤백 및 롤링 업데이트 : Deployment가 버전 업데이트를 쉽게 할 수 있게 도와준다. 롤링 업데이트를 통해 점진적으로 업데이트 하고, 문제 발생 시 자동 롤백을 한다.파드 상태 관리 : 파드가 삭제되면 Deployment가 자동으로 파드 생성해서 복제본 수를 유지한다.Deployment로 스프링 서버를 실행하기apiVersion: apps/v1kind: Deploymentmetadata: name: sprin.. 2025. 3. 18.
[Kubernetes] Pod, Service, Volume, ConfigMap 생성 매니페스트, YAML 파일쿠버네티스에서 파드, 서비스, 디플로이먼트 등을 생성하고 관리하는 설정 파일을 매니페스트라 부른다.이때 매니페스트는 특정 형식을 지켜 작성해야 하는데 주로 YAML 형식으로 작성한다.Pod(파드)Pod : 컨테이너를 하나 이상 모아놓은 것(쿠버네티스에서 가장 작은 배포 단위)파드 기본 템플릿apiVersion: v1kind: Podmetadata: name: # 파드의 이름 labels: app: # 선택적으로 라벨 추가 가능spec: containers: - name: # 컨테이너 이름 image: # 사용할 컨테이너 이미지 ports: - containerPort: # 컨테이너가 사용할 포트 resources: # 선택적으.. 2025. 3. 18.
[Kubernetes] 개념 및 환경 구축 쿠버네티스란?쿠버네티스 : 컨테이너 관리 플랫. 여러 대의 서버에서 컨테이너화된 애플리케이션을 자동 배포, 관리, 확장할 수 있도록 해준다.  노드(Node) : 쿠버네티스 클러스터를 구성하는 서버. 마스터 노드와 워커 노드로 나뉜다.마스터 노드 : 클러스터를 제어하는 역할워커 노드 : 실제 애플리케이션이 실행되는 서버파드(Pod) : 쿠버네티스에서 컨테이너를 실행하는 최소 단위. 하나의 파드에는 여러 컨테이너가 포함될 수 있다. 서비스(Service) : 파드 간의 통신을 관리하고, 외부에서 접근할 수 있는 방법을 제공 디플로이먼트(Deployment) : 애플리케이션을 자동으로 배포하고, 업데이트 및 롤백을 지원 장점고가용성 : 애플리케이션이 실패할 경우 자동으로 복구. 중단 없이 서비스가 운영확장성.. 2025. 3. 18.
[Docker] Dockerfile로 자동 빌드&디버깅 (Edit Configuration) https://taeh00n.tistory.com/entry/Docker-Dockerfile-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EB%B0%B0%ED%8F%AC [Docker] Dockerfile 스크립트로 이미지 만들기 & 배포Dockerfile 스크립트로 이미지 만들기Dockerfile 스크립트를 작성하고 이 스크립트를 빌드해 이미지를 만드는 방법이다. 주요 Dockerfile 인스트럭션인스트럭션내용FROM토대가 되는 이미지를 지정ADD이taeh00n.tistory.com위의 작업을 하다보면 docker build, docker tag, docker pu.. 2025. 3. 13.