순서 1. Argo Rollout이란 2. Argo Rollout 플러그인 설치 1) Argo Rollout 설치 스크립트 작성 2) 실행 확인 3. Argo Rollout으로 배포 1) Rollout(Canary) 배포 설정 2) Rollout Object 배포 및 확인 3) 애플리케이션 신규 배포 및 Canary 업데이트 확인 Argo Rollout이란 Argo Rollout은 Canary, Blue-Grean와 같은 고급 배포 기능을 위한 Argo의 CRD 및 Kubernetes 컨트롤러이다. 이를 통해 Kubernetes에선 제공되지 않는 다양한 배포 기법을 적용하고 자동화할 수 있다. Canary 업데이트란 cf. Canary 배포에 대한 포스팅: https://jh-labs.tistory.co..
Git을 활용한 쿠버네티스 배포 컨셉 GitOps는 2017년 OpenGitOps 단체에서 발표한 개념으로 Git을 통해 k8s Manifest 파일을 관리하여 seamless 하게 Time to market을 목표로 운영하자는 개념이다. k8s는 yaml 같이 Pod, Deployment 등 모든 리소스를 Manifest 기반의 '선언적 코드'를 명시해 배포한다는 특징이 있다. 또한 git은 파일들에 대해 형상관리를 해준다는 측면에서 Manifest 파일들에 대한 버전을 관리할 수 있다. 즉, k8s 오브젝트들은 모두 Manifest로 관리된다는 특징을 기반으로 Manifest 파일에 대한 생성, 삭제, 변경 등에 대한 형상 관리를 git과 함께 함으로써 변경이력을 관리하자는 컨셉이다. GitOps의 ..
이전 포스팅에서 다룬 컨트롤러 - ReplicationController: 컨트롤러의 가장 근본적인 역할을 하는 컨트롤러로 Pod의 개수를 보장 - ReplicaSet: 풍부한 label을 지원하여 다양한 조건에 해당하는 Pod 개수 보장 - Deployment: ReplicaSet을 컨트롤하며 Rolling Update를 지원 -> 결국 세 개의 컨트롤러는 모두 'Pod의 개수를 보장'하는 것이 주요 역할이었던 컨트롤러였다. DaemonSet도 Pod의 개수를 보장하지만 다른 컨트롤러와 비교해보면 약간 성격이 다르다. DaemonSet - 이전에 다룬 다른 컨트롤러와 달리 DaemonSet은 노드 당 1개씩의 Pod를 보장하는 컨트롤러이다. - 운영 중에 노드가 추가되면 추가된 노드 개수만큼 Pod를 ..
- Total
- Today
- Yesterday
- github actions
- Non-Blocking
- 코틀린
- 컨트롤러
- CICD
- golang
- ci/cd
- K8s
- 카프카
- 쿠버네티스
- db
- jvm
- Controller
- RDB
- LFCS
- Java
- kafka
- Linux
- Kubernetes
- Stream
- ubuntu
- spring
- argocd
- helm
- docker
- 우분투
- GitOps
- container
- rolling update
- go
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |