본문 바로가기

반응형

분류 전체보기

(316)
[Jenkins] Jenkins 설치 - Package Jenkins 설치 - Package sudo yum -y update; sudo wget -O /etc/yum.repos.d/jenkins.repo \ https://pkg.jenkins.io/redhat-stable/jenkins.repo; sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key; sudo yum upgrade -y; sudo amazon-linux-extras install epel -y; sudo amazon-linux-extras install java-openjdk11 -y sudo systemctl daemon-reload; sudo systemctl start jenkins; sudo systemctl s..
[Jenkins] Jenkins pipeline 소개 Jenkins pipeline - 젠킨스 플러그인들의 모음 - Build → Test → Staging 등 단계별 묶음 - 파이프라인 설치를 해야 제대로 사용 가능 - Jenkins 2.x or later 이후 버전 부터 사용 추천 Jenkins pipeline 문법 - https://www.jenkins.io/doc/book/pipeline/ Pipeline Jenkins is, fundamentally, an automation engine which supports a number of automation patterns. Pipeline adds a powerful set of automation tools onto Jenkins, supporting use cases that span from ..
[Jenkins] Jenkins 개요 Jenkins 란? 젠킨스(Jenkins)는 소프트웨어 개발 시 지속적 통합(continuous integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다. Jenkins 특징 - 오픈소스인 자동화 서버 → reference, document - 다양한 플러그인 제공 1. Pipeline 2. Authentication / Authorization 3. Git 4. Docker - 다양하게 확장 [참고] - https://ko.wikipedia.org/wiki/%EC%A0%A0%ED%82%A8%EC%8A%A4_(%EC%86%8C%..
[CI/CD] CD/CD 소개 CD/CD concept - CI (Continuous Integration) : 지속적 통합 - CD (Continous Delivery or Continueous Deployment) : 지속적 전달/배포 "CI/CD는 소프트웨어 프로세스를 스피드업 하고 주기를 짧게 가고 자동화 하는 방법이라고 할 수 있다." CI - 하루에 수 차례 개발자들이 자주 merge 하는 행위 CI Workflows CD - 소프트웨어 기능을 빠르고 자동화하여 배포하는 방법 CD Workflows CI/CD 목적 - 고객의 요구사항을 빠르게 해소하기 위해 배포하고 신뢰성 있게 처리하기 위해서이다. [참고] - 패스트캠퍼스, 한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online
[EC2] EC2 인스턴스 메타데이터 메타데이터 - 메타데이터는 객체에 대한 키와 값에 대한 집합 데이터 인스턴스 메타데이터 - 실행 중인 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터 인스턴스 메타데이터 확인 (Amazon Linux 2 버전 기준) 버전확인 - 169.254.169.254 IP 주소는 아마존 EC2 등 클라우드 플랫폼에서 VM 인스턴스에 메타데이터를 제공하기 위한 내부 주소 $ curl http://169.254.169.254 1.0 2007-01-19 2007-08-29 2007-10-10 ... 2021-07-15 2022-07-09 2022-09-24 lastest 최신 버전에서 메타데이터 리스트 검색 $ curl http://169.254.169.254/latest dynamic meta-..
[Kubernetes] Secret ConfigMap과 Secret - ConfigMap : 컨테이너 구성 정보를 한곳에 모아서 관리 - Secret : 컨테이너가 사용하는 password, auth token, ssh key와 같은 중요한 정보를 저장하고 민감한 구성정보를 base64로 인코딩해서 한곳에 모아서 관리 - 민감하지 않은 일반 설정파일 configmap을 사용하고 민감한 데이터는 secret을 사용 - Secret 데이터 전달 방법 1. Command-line Agrument 2. Environment Variable 3. Volume Mount Secret 만들기 kubectl create secret name [flags] [options] ※ Available Commands 로 3개 타입을 사용할 수 있고, 3개 중 ..
[Kubernetes] ConfigMap ConfigMap 생성 - ConfigMap : 컨테이너 구성 정보를 한곳에 모아서 관리 kubectl create configmap NAME [--from-file=source] [--from-liternal=key1=value1] ttabae-config 이름으로 ConfigMap 생성 및 확인 # kubectl create configmap ttabae-config --from-literal=INTERVAL=2 --from-literal=OPTION=boy --from-file=config.dir/ configmap/ttabae-config created # kubectl get configmaps ttabae-config NAME DATA AGE ttabae-config 3 2m22s # kube..
[Kubernetes] kubernetes Canary Deployment Canary Deployment - 포드를 배포(업데이트)하는 방법 1. 블루 그린 업데이트 2. 카나리 업데이트 3. 롤링 업데이트 - Canary 배포 . 기존 버전을 유지한 채로 일부 버전만 신규 버전으로 올려서 신규 버전에 버그나 이상은 없는지 확인 카나리 배포 실습 mainui-stable.yaml 실행 후 pod 확인 # cat mainui-stable.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mainui-stable spec: replicas: 2 selector: matchLabels: app: mainui version: stable template: metadata: labels: app: mainui version: sta..

반응형