DevOps & SRE
[쿠버네티스 공부] ConfigMap, Secret
그저 사이드 플젝에서 한 번 써보고 싶어서... 쿠버네티스를 공부를 하면서 정리하는 글입니다. ConfigMap, Secret의 필요성 환경마다 설정 값을 다르게 줘야하는 경우 있다. 방법 A): 도커 이미지 내부에 설정 값 또는 설정 파일을 정적으로 저장 하는 방법 => 도커 이미지는 빌드되고 나면 불변의 상태를 가져, 상황에 따라 유연하게 변경이 불가. 방법 B) 포드를 정의하는 YAML 파일에 환경 변수를 직접 적어두는 방법 => 상황에 따라 환경 변수의 값만 다른 동일한 여러 개의 YAML이 존재할 수 있음 쿠버네티스에서는 이러한 환경마다 다른 설정 값을 위해 ConfigMap, Secret 오브젝트를 제공한다. ConfigMap 일방적인 설정 값을 담아 저장할 수 있는 쿠버네티스 오브젝트. Se..
[쿠버네티스 공부] Deployment란?
그저 사이드 플젝에서 한 번 써보고 싶어서... 쿠버네티스를 공부를 하면서 정리하는 글입니다. Deployment Deployment는 Replicaset의 상위 오브젝트이기 때문에 Deployment를 생성하면 해당 Deployment에 대응하는 Replicaset도 함께 생성된다. 따라서 Deployment를 사용하면 Pod, Replicaset을 직접 생성할 필요가 없다. Deployment를 사용하는 이유? 쿠버네티스는 그럼 왜 Replicaset을 그대로 사용하지 않고, 굳이 상위 개념인 Deployment를 사용해서 간접적으로 Replicaset을 생성하는 것 일까? Deployment를 사용하는 핵심적인 이유는 애플리케이션의 업데이트와 배포를 더욱 편하기 만들기 위해서이다. Deploymen..
[배포 전략]: Recreate, Rolling Update, Blue/Green, Canary 배포가 뭐죠?
Deployment Strategy 오늘은 다양하게 발전하고 있는 서비스 배포 전략 기법 중 Recreate, Rolling Update, Blue/Green, Canary 배포 전략에 대해서 정리해봤습니다. 1. Recreate 가장 단순한 배포 전략으로, 기존 버전의 서버를 모두 삭제한 다음 새로운 버전의 서버를 생성하는 방법. 단점) 서비스에 대한 일시적인 DownTime(중단 시간)이 존재한다. (무중단 배포 X) 2. Rolling Update 기존 버전의 서버를 하나씩 죽이고 새로운 버전의 서버를 하나씩 띄우면서 순차적으로 교체하는 방법이다. 즉, 서버를 하나하나씩 버전을 업그레이드하는 방식 장점) 배포 중 추가 자원을 요구하지만, 서비스 DownTime 시간이 없음 단점) 하지만, 이전의 버..
[쿠버네티스 공부] Replicaset은 무엇일까?
그저 사이드 플젝에서 한 번 써보고 싶어서... 쿠버네티스를 공부를 하면서 정리하는 글입니다. ReplicaSet, Replication Controller(Deprecated) Replication은 Pod의 Label과 Replication의 Selector를 통해 파드에 연결할 수 있다. Template Template에 파드의 내용을 넣게 되는데, 컨트롤러는 파드에 이상이 생기면 재생성 시키는 역할을 한다. 이때 파드가 다운되면, Template을 통해 파드를 생성한다. 이러한 특징을 통해 버전 업그레이드시 Template에 Pod:v2로 업그레이드 후, 기존의 파드를 다운시키면 컨트롤러는 Template을 가지고 파드를 재 생성한다. => 버전 업그레이드 Replicas 파드의 갯수를 관리 & ..
[쿠버네티스 공부] Controller는 어떤 역할을 할까?
그저 사이드 플젝에서 한 번 써보고 싶어서... 쿠버네티스를 공부를 하면서 정리하는 글입니다. Controller 컨트롤러의 기능 1. Auto Healing 파드 혹은 노드에 이상이 생겨서 다운되면 서비스에 장애가 발생한다. 이때 컨트롤러는 이를 인지하고 파드를 다른 노드에 새로 만들어준다. => 안정적인 서비스를 운영할 수 있게 해준다. 2. Auto Scaling 파드의 리소스가 한계 상태가 되었을 때, 컨트롤러는 이 상태를 파악하고 파드를 하나 더 만들어줌으로써 부하를 분산 시켜 => 안정적인 서비스를 운영할 수 있게 해준다. 3. Software Update 여러 파드에 대한 버전을 업그레이드 해야할 때, 컨트롤러를 통해서 중단없이 쉽게 버전 업그레이드를 할 수 있으며, 쉽게 롤백 기능을 제공해..