본문 바로가기

반응형

DevOps

(12)
[Jenkins] docker Build failed: no space left on device 1. 원인 Jenkins 에서 docker 이미지 빌드시 디스크 공간이 부족하면 아래와 같은 에러 발생 Error processing tar file(exit status 1): ....: no space left on device script returned exit code 1 2. 해결방안 1) 현재 디스크 사용률 확인 $ df -h 2) 사용하고 있는 docker 이미지, 컨테이너, 로컬 볼륨의 총 개수 및 사용 중인 개수, 크기 확인 $ docker system df -v 3) docker 컨테이너 삭제 # 동작중인 컨테이너 확인 $ docker ps # 정지된 컨테이너 확인 $ docker ps -a # 컨테이너 삭제 $ docker rm [컨테이너id] # 삭제 확인 $ docker ps -..
GitOps와 ArgoCD 1. GitOps GitOps 란? - GitOps는 DevOps의 실천 방법 중 하나로 애플리케이션의 배포와 운영에 관련된 모든 요소들을 Git에서 관리한다는 뜻 - GitOps는 Kubernetes Manifest 파일을 Git에서 관리하고, 배포할때에도 Git에 저장된 Manifest로 클러스터에 배포하는 일련의 과정들을 의미 ※ Manifest 파일 : 쿠버네티스의 오브젝트를 생성하기 위한 메타 정보를 YAML이나 JSON으로 기술한 파일 GitOps의 원칙 1) 모든 시스템은 선언적으로 선언되어야 함 “선언적(declarative)”이라 함은 명령들의 집합이 아니라 사실(fact)들의 집합으로 구성이 되었음을 보장한다는 의미입니다. 쿠버네티스의 manifest들은 모두 선언적으로 작성되었고 이를..
[Prometheus] Prometheus 소개 Prometheus 란? - 오픈소스 모니터링 시스템 - 다차원 데이터 모델 지원 - Kubernetes 환경의 모니터링 - PromQL 지원 - Pull 방식의 메트릭 수집 * Pull 방식 : 서버별 클라이언트가 Metric 데이터를 수집하면 서버가 접근해서 데이터를 가져오는 방식 * Push 방식 : 서버별 클라이언트가 Metric 데이터를 수집해서 서버로 보내는 방식 ※ Grafana를 이용하여 프로메테우스 타임시리즈 데이터를 대시보드화하여 모니터링 metric types - Counter : 항상 증가하는 데이터 - Gauge : 증가하고 감소하는 데이터 - Histogram : 합계, 총량을 모니터링 하는 데이터 - Summary : 증감을 관찰하고 전체 합계를 확인하며 특정 시간 내 전체 값..
[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
[Nexus] Nexus 3 AWS EC2 설치 Nexus 설치 요구사항 1vCPU & 2GB 메모리 22 port & 8081 포트 오픈 OpenJDK 8 이상 Nexus 프로세스는 root 계정이 아닌 Nexus 사용자로 실행 공식 문서 시스템 요구사항 참고 https://help.sonatype.com/repomanager3/product-information/system-requirements 1. yum 패키지 업데이트 sudo yum update -y 2. OpenJDK 1.8 & weget 설치 sudo yum install java-1.8.0-openjdk.x86_64 -y sudo yum install wget -y 3. Nexus 설치를 위한 디렉토리 생성 sudo mkdir /app && cd /app 4. Nexus 다운로드 su..

반응형