개요 Google Cloud Skills Boost의 설명에 따르면, 쿠버네티스 클러스터는 다음과 같다. Google Kubernetes Engine (이하 GKE)에서는 Google 인프라를 사용하여 컨테이너화된 애플리케이션을 배포, 관리 및 확장할 수 있는 관리형 환경을 제공한다. Kubernetes Engine 환경은 컨테이너 클러스터를 형성하도록 그룹화된 여러 머신(구체적으로 Compute Engine 인스턴스)으로 구성되어 있다. 쿠버네티스를 더욱 공부하다보면 알게 되겠지만, 쿠버네티스에는 컴퓨팅 리소스인 Node가 있고, 그 노드 안에 컨테이너를 실행시킬 수 있는 Pod가 존재하며, Pod 안에는 실제로 실행되어야 하는 어플리케이션 컨테이너가 존재한다. 그리고 이러한 Node를 관리하는 API..
👷♂️DevOps
개요: Docker란? Google Cloud Skills Boost의 설명에 따르면, Docker는 다음과 같다. Docker는 애플리케이션을 개발, 출시, 실행하는 데 사용하는 개방형 플랫폼입니다. Docker를 사용하면 인프라에서 애플리케이션을 분리하고 인프라를 관리형 애플리케이션처럼 취급할 수 있습니다. Docker는 코드를 더욱 빠르게 출시, 테스트, 배포하고 코드 작성과 실행 주기를 단축하는 데 도움이 됩니다. 이는 Docker가 커널 컨테이너화 기능을 애플리케이션 관리 및 배포를 지원하는 워크플로우 및 도구와 결합하기 때문입니다. 위와 같은 일반적인 설명으로는 아직 Docker가 무엇인지 이해가 가지 않는다. Docker에 대해 간단하게 더 알아보자! Docker에 대해 소개하는 이미지로 위..
아래의 지난 글에서도 언급했듯이, 쿠버네티스에서 카나리아 배포를 사용할 경우 로드 밸런싱 때문에 문제가 생길 수 있다. 신 버전에서 구 버전 서버로 로드 밸런싱이 되어 UI/UX가 변경되는 등의 혼돈이 생기는 것이다. (자세한 글은 아래 참조!) [Kubernetes] 롤링(rolling) vs Blue/Green vs Canary 업데이트 시나리오 쿠버네티스에서 배포한 애플리케이션 코드가 수정되었거나, 보안 취약점을 수정하기 위해 패치를 했다고 가정해보자. 이 경우에는 버전 업데이트를 위해서 새 파드가 생성되어야 한 cn-c.tistory.com 그렇다면 이러한 종류의 문제는 어떻게 해결할 수 있을까? 어떻게 카나리아 배포가 있는 서버에 접속한 유저는 계속 카나리아 배포를 보도록 하고, 구 버전 서버에..
시나리오 쿠버네티스에서 배포한 애플리케이션 코드가 수정되었거나, 보안 취약점을 수정하기 위해 패치를 했다고 가정해보자. 이 경우에는 버전 업데이트를 위해서 새 파드가 생성되어야 한다. 즉, 새로운 이미지를 빌드하고, 이를 쿠버네티스 클러스터 상에 배포하여 사용자가 업데이트 된 버전에 접근 가능하도록 만들어 주어야 한다. 롤링(rolling) 업데이트 위와 같은 상황에서 쿠버네티스의 롤링 업데이트 기능(순차적 업데이트라고 이해하면 된다)을 사용하면 서비스 다운타임없이 업데이트를 해 줄 수 있다. 롤링 업데이트 메커니즘은 배포가 새 버전으로 업데이트될 시 새 ReplicaSet을 만들고, 이전 ReplicaSet의 레플리카가 감소하면서 새 ReplicaSet의 레플리카 수가 천천히 증가하는 것이다. 아래 그..