일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- jenkins
- blue-green
- 딥레이서 보상함수
- 그라파나 대시보드
- 솔데스크
- EFS CSI Driver
- EKS 클러스터
- 메탈LB
- Prometheus install
- SAA 합격 후기
- terraform
- headless service
- grafana on kubernetes
- github action 사용법
- AWS 딥레이서
- 깃허브 액션
- kubernetes 동작 원리
- livenessPorbe
- 쿠버네티스
- 딥레이서
- Aurora cluster
- LoadBalancer Controller
- 로드밸런서 컨트롤러
- Solution Architecture
- Kubernets on Jenkins
- helm
- Kubernetes
- Firelens
- 그라파나 시각화
- 쿠버네티스 컴포넌트
- Today
- Total
목록DevOps (8)
mingming
Kustomize Kustomize는 Kubernetes 애플리케이션 배포를 위한 오픈 소스 도구로, 배포 구성을 관리하고 수정하기 위한 YAML 패치 메커니즘을 제공합니다. Kustomize를 사용하면 Kubernetes 리소스 정의에 대한 설정을 관리하고 커스터마이징할 수 있으며, 여러 환경 또는 배포 단계에 따라 리소스를 조정할 수 있습니다. Kustomize는 Kubernetes에 내장되어 있으며, Kubernetes 1.14 버전 이후에는 kubectl 명령어를 통해 직접 사용할 수 있습니다. 해당 프로젝트에서 배포할 manifest 파일이 있는 git repo의 파일 구조는 다음과 같습니다. ├── base │ ├── kustomization.yaml │ ├── sessac-deployment..
지난 포스팅에서 Github Action과 ArgoCD를 이용한 CI/CD Pipeline을 구축해보았습니다. 이번엔 GithubAction 대신 Jenkins를 이용한 CI/CD Pipeline을 구축해보려 합니다. 애플리케이션을 빌드하고 도커 이미지화 하여 EKS 클러스터로 배포하는 CI/CD Pipeline 입니다. CI/CD Workflow 구축하고자 하는 전체 아키텍쳐는 위의 그림과 같습니다. 다음은 아키텍쳐에 대한 간단한 설명입니다. 개발자는 애플리케이션을 수정 후 Git repo에 Commit 후 Push 하게되면 Webhook을 jenkins로 전달하게 된다. Jenkins에서 git의 webhook을 트리거로 job이 실행되고 해당 job이 완료되면 Jenkins pipeline job이..
Blue/Green Deploy on Jenkins 2 개의 Deployment를 생성하고 기존에 블루 Deployment에 계속 트래픽을 전달하다 Green 배포가 끝나면 모든 서비스를 Green으로 넘깁니다. 기존의 Blue Deployment를 삭제합니다. 배포를 위한 Deployment를 생성해야 하기 때문에 2배 이상의 리소스가 필요하지만 장애복구가 용이하고, 무중단 배포가 가능하다는 장점이 있습니다. DIR - service Jenkinsfile pipeline { agent { kubernetes { yaml ''' apiVersion: v1 kind: Pod metadata: labels: app: blue-green-deploy name: blue-green-deploy spec: con..
Jenkins Login을 하게 되면 좌측의 메뉴들이 존재합니다 . 1. 새로운 Item: 젠킨스를 통해서 빌드할 작업을 아이템 이라고 합니다. 2. 사람 : 사용자를 관리하는 메뉴입니다. 현재는 최초 접속한 admin 사용자만 기록되어 있습니다. 3. 빌드기록 : 젠킨스 작업에 대한 성공, 실패, 진행 내역을 확인할 수 있습니다. 4. My Views : 젠킨스에서 각종 작업을 분류해 모아서 볼 수 있는 대시보드 입니다. 5. Lockable Resources: 젠킨스에서는 한 번에 여러 작업이 동시에 일어날 수 있습니다. 이때 작업이 진행 중이라면 옵션에 따라 다른 작업은 대기를 해야 할 수 있습니다. 이를 동시성 문제라고 하며 젠킨스에서는 작업이 끝날 때 까지 같은 작업을 하지 못하게 하는 잠금 장..
Jenkins 젠킨스(Jenkins) 란? Jenkins는 지속적인 통합 ( Continuous Integration, CI ) 및 지속적인 전달 ( Continuos Delivery, CD ) 프로세스를 자동화하고 관리하기 위한 오픈소스 자동화 도구 입니다. 애플리케이션의 개발, 테스트 및 배포 과정을 효율적으로 관리하고 자동화하는 데 사용됩니다. 주요 기능 자동 빌드 코드 변경이 발생하면 Jenkins는 자동으로 소스 코드를 가져와 컴파일하고 빌드합니다. 자동 테스트 빌드 후에 Jenkins는 자동으로 테스트를 실행하여 코드의 품질과 안정성을 확인합니다. 자동 배포 테스트가 성공적으로 완료되면 Jenkins는 애플리케이션을 특정 환경으로 배포하거나 스테이징 및 프로덕션 환경으로 배포 프로세스를 자동화..
Kustomize Kustomize는 Kubernetes 애플리케이션 배포를 위한 오픈 소스 도구로, 배포 구성을 관리하고 수정하기 위한 YAML 패치 메커니즘을 제공합니다. Kustomize를 사용하면 Kubernetes 리소스 정의에 대한 설정을 관리하고 커스터마이징할 수 있으며, 여러 환경 또는 배포 단계에 따라 리소스를 조정할 수 있습니다. Kustomize는 Kubernetes에 내장되어 있으며, Kubernetes 1.14 버전 이후에는 kubectl 명령어를 통해 직접 사용할 수 있습니다. Base Base는 원본 리소스 정의를 담고 있는 디렉토리나 파일입니다. 기본적으로는 애플리케이션을 설명하는 Kubernetes 리소스 정의가 들어있는 곳입니다. Overlay Overlay는 Base를 ..
github action과 ArgoCD 로 CI/CD 파이프라인 구축 기본 시나리오 github action은 CI(Continuos Integration) ArgoCD는 CD(Continuos Deploy) 역할을 맡게 됩니다. github src repository 에서 변경사항이 push되면 githubaction workflow에서 빌드되고 ECR로 이미지가 푸쉬됩니다. 이때 Kustomize 를 통해 manifest repo에 image tag가 업데이트 됩니다. manifest repo를 지켜보던 ArgoCD가 변경사항을 감지하고 EKS cluster위에 구동중인 pod 이미지를 최신화하게 됩니다. github action ECR 에 이미지가 저장될 repository를 하나 생성해 줍니다. ..
Github Action이란? GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼입니다. 리포지토리에 대한 모든 풀 요청을 빌드 및 테스트하는 워크플로를 생성하거나 병합된 풀 요청을 프로덕션에 배포할 수 있습니다. Github Action 기본개념 워크플로우 워크플로는 하나 이상의 작업을 실행하는 구성 가능한 자동화 프로세스입니다. 워크플로는 리포지토리에 체크인한 YAML 파일에 의해 정의되며 리포지토리의 이벤트에 의해 트리거될 때 실행되거나 수동으로 또는 정의된 일정에 따라 트리거될 수 있습니다. 워크플로는 리포지토리의 디렉터리에 정의되며 .github/workflows리포지토리에는 각각 다른 작업 집합을 수행할 수 있는 여..