DevOps 11

kubernetes, Jenkins를 활용한 CI/CD Pipeline구축

GitHub - yangwoohyeon/kubernetes-jenkins-cicdContribute to yangwoohyeon/kubernetes-jenkins-cicd development by creating an account on GitHub.github.com 싱글 노드 쿠버내티스 클러스터 + Jenkins CI/CD + DockerHub 기반 자동 배포 Pipeline을 구축해봤다. 쿠버내티스 워커 노드를 구성하기 위한 최소 사양은 다음과 같다.• CPU: 2 vCPU 이상• 메모리(RAM): 2GB 이상• 디스크 용량: 20~30GB 이상 AWS EC2 인스턴스 기준으로 최소 t3.medium이상을 사용해야한다. 여러개의 인스턴스를 생성하여 부하 분산도 테스트 해보고 싶었지만 프리티어 초과..

DevOps/Kubernetes 2025.08.09

[Kubernetes] Jenkins를 활용한 Blue/Green 배포 구현

kubernetes-anotherclass-sprint2/2213 at main · yangwoohyeon/kubernetes-anotherclass-sprint2[⚓쿠버네티스 어나더 클래스 (지상편) - 📗Sprint2]. Contribute to yangwoohyeon/kubernetes-anotherclass-sprint2 development by creating an account on GitHub.github.com Jenkins와 쿠버네티스를 이용하여 Blue/Green 배포를 진행해봤다. Blue/Green 배포의 특징무중단 배포 가능운영환경에서 테스트 가능빠른 롤백 지원새로운 배포본의 문제점 발견시 즉시 안정된 버전으로 복구 가능해 안정적인 서비스 운영 가능 pipeline { a..

DevOps/Kubernetes 2025.08.05

[Kubernetes] 배포 전략(Recreate/ RollingUpdate / BlueGreen / Canary)

1. Recreate가장 단순한 방법기존 서버(파드)를 모두 중지 시킨후 새로운 버전의 서버를 생성하는 방법배포중에 서비스가 완전히 중단되기 때문에 다운타임이 발생 2. RollingUpdate기존 버전의 파드를 하나씩 새 버전의 파드로 점진적으로 교체해 나가는 방식다운타임이 없다 (무중단 배포)새 버전의 인스턴스로 트래픽이 이전되기 전까지 이전 버전과 새 버전의 인스턴스가 동시에 존재한다는 단점이 있다. 3. Bule/Green두 개의 독립적인 환경 Blue 환경과 Green 환경을 가지고 진행되는 배포 전략Blue : 기존 서비스Green : 새로운 버전Green의 배포 준비가 완료되면 Blue 환경에서 Green 환경으로 한 번에 전환 4. Canary위험을 빠르게 감지할 수 있는 배포 기법..

DevOps/Kubernetes 2025.08.04

[kubernetes] Probe

Probe쿠버네티스에서 컨테이너 상태를 주기적으로 진단하기 위해 사용되는 기능이다.이를 통해 쿠버네티스는 각 컨테이너의 상태를 체크하고 문제가 발생한 경우에는 해당 컨테이너를 자동으로 재시작하거나 서비스에서 제외할 수 있다. 쿠버네티스의 Probe는 크게 세 가지 유형으로 나뉜다. 1. Liveness Probe컨테이너가 살아있는지 주기적으로 확인응답하지 않거나 문제가 있는 경우 해당 컨테이너 재시작(실습에서 확인 가능) 2. Readiness Probe컨테이너가 외부 트래픽을 받을 준비가 되었는지를 확인준비가 되지 않은 경우, 해당 Pod를 서비스 엔트포인트 목록에서 제외하여 트래픽이 들어가지 않도록 한다.readiness Probe에 실패하면 외부 API 호출에 실패하게 된다. 3. Startu..

DevOps/Kubernetes 2025.07.31

[Kubernetes] 쿠버네티스 오브젝트 정리

쿠버네티스 오브젝트란?- 클러스터 내부에서 사용자가 관리하고자 하는 리소스의 실체를 의미한다.- 클러스터의 원하는 spec(스펙, 명세)과 status(상태)를 선언적으로 정의해두면 쿠버네티스가 이를 실제 상태로 맞추려고 지속적으로 관리한다. 쿠버네티스의 주요 오브젝트들이 어떤 역할을 하는지 정리해보자. Namespace쿠버네티스 클러스터에서 사용되는 리소소들을 구분해서 관리하는 그룹이다.apiVersion: v1kind: Namespacemetadata: name: anotherclass-123 labels: part-of: k8s-anotherclass managed-by: dashboard위 YAML파일은 쿠버네티스 클러스터 안에 새로운 격리 공간 (anotherclass - 12..

DevOps/Kubernetes 2025.07.30

쿠버네티스 자동화 모니터링 환경 만들기: Loki-Stack과 Grafana 연동, 쿠버네티스 대표기능 테스트

Prometheus란?오픈소스 기반의 모니터링, 메트릭(지표) 수집 및 알람 시스템쿠버네티스 클러스터, 파드, 서비스, 노드 등의 리소스 사용량, 상태 등 모든 메트릭을 실시간으로 수집·저장 Loki-Stack이란?컨테이너 환경에 특화된 로그 수집/조회 시스템 Grafana란?오픈소스 기반의 데이터 시각화 및 모니터링 도구로, 여러 데이터 소스에서 자동으로 데이터를 가져와 사용자가 원하는 대시보드를 구성하고 시각화할 수 있게 해준다. 쿠버네티스를 사용하면 모니터링툴을 통해 메트릭(성능 정보)과 로그(이벤트/에러)를 자동 수집,시각화 하여 운영을 투명하고 쉽게 만든다. 실습 과정 1. Github(k8s-1pro)에서 Prometheus(with Grafana), Loki-Stack yaml 다운로드..

DevOps/Kubernetes 2025.07.29

Kubernetes란?, Kubernetes 설치

Kubernetes란? 쿠버네티스란 컨테이너화된 애플리케이션을 배포,관리,확장하는 오픈소스 기반 컨테이너 오케스트레이션(Container Orchestration) 도구이다. 여기서 컨테이너 오케스트레이션이란 ‘컴퓨터 리소스 자원과 애플리케이션 및 서비스에 대한 자동화된 설정 및 관리’를 의미한다.같은 의미를 차용하여 컨테이너 오케스트레이션(Container Orchestration)을 해석하자면, "컨테이너화 된 애플리케이션에 대한 자동화된 설정, 관리 및 제어 체계"로 받아들일 수 있을 것이다. 쉽게 말하면 컨테이너들을 통합적으로 문제없이 잘 돌아갈 수 있도록 해주는 자동 컨테이너 관리 솔루션 정도로 해석하면 될 것 같다. Kubernetes 주요 기능 1. 자동 복구 : 실패한 컨테이너를 자..

DevOps/Kubernetes 2025.07.29

Docker Volume(도커 볼륨)

Docker Volume이란 무엇일까? 컨테이너는 기본적으로 임시적인 환경이라서 컨테이너가 종료되거나 삭제되면 그 안의 데이터도 함께 사라진다.도커 볼륨은 이러한 문제를 해결해주는 영구적인 데이터 저장 공간을 말한다. 볼륨(Volume)은 컨테이너 자체의 저장 공간을 사용하지 않고, 호스트 자체의 저장 공간을 공유해서 사용하는 형태이다. 도커 볼륨 사용 명령어docker run -v [호스트의 디렉토리 절대경로]:[컨테이너의 디렉토리 절대경로] [이미지명]:[태그명] 그럼 이제 도커 볼륨을 통해 MySQL을 사용해보자.  1. MySQL 컨테이너 띄우기 $ cd /Users/jaeseong/Documents/Develop$ mkdir docker-mysql # MySQL 데이터를 저장하고 싶은 폴더 만들..

DevOps/Docker 2025.03.23

Docker CLI

Docker를 사용하면서 많이 이용되는 CLI를 몇개 공부 했다. 도커 이미지 생성,삭제도커 컨테이너 생성,삭제로그 확인컨테이너 포트 연결 도커 이미지 다운로드# docker pull 이미지명$ docker pull nginx # docker pull nginx:latest와 동일하게 작동  특정 버전 도커 이미지 다운로드# docker pull 이미지명:태그명$ docker pull nginx:stable-perl 태그명은 도커허브에 들어가서 확인 가능하다. https://hub.docker.com/ Docker Hub Container Image Library | App ContainerizationIncrease your reach and adoption on Docker Hub With a Doc..

DevOps/Docker 2025.03.21

Docker를 활용하여 Nginx 설치 및 실행

1. Docker Hubd라은 이미지 저장소에서 nginx의 최신 이미지를 내 컴퓨터로 다운로드  2. 도커 이미지 목록을 확인하여 Nginx가 정삭적으로 다운로드 되었는지 확인 3. nginx 웹 서버를 실행하는 컨테이너를 webserver라는 이름으로 백그라운드에서 실행하고, 내 컴퓨터의 80포트와 연결  4. 현재 실행 중인 컨테이너 목록확인  크롬에서 잘 돌아가는 것을 확인할 수 있다.  5. 실행 중인 컨테이너를 멈추기

DevOps/Docker 2025.03.19