Container/Kubernetes 썸네일형 리스트형 [k8s]readiness probe로 파드 health check 하기! 목표: 3.0 버전의 CozServer 파드가 탐침기(probe)에 의해 문제가 있음을 스스로 발견하게 하고, 자동으로 롤백할 수 있게 하세요 디플로이먼트의 spec.minReadySeconds 속성의 기본값은 0입니다. 이 말은 곧 파드가 Running으로 변하면 "사용 가능한 것으로 간주한다"는 의미입니다. 그런데, 실제로 CozServer의 3.0 버전은 문제가 있는 버전이었죠. minReadySeconds를 늘리면, 롤아웃의 속도를 조절할 수 있습니다. CozServer의 3.0 버전 디플로이먼트에 readiness probe를 달면, 롤아웃이 늦춰지는 동안(minReadySeconds가 충분히 길어야 합니다), 탐침이 가능합니다. - readiness probe를 달고 - HTTP GET 요청을.. 더보기 [k8s]스테이트풀 셋 Stateless 한 파드를 Stateful 하게 관리하고 싶다. 파드는 일시적이며 Stateless하다. Deployment에서 파드의 교체와 배치를 담당하며, 레플리카셋을 통해 파드를 수평 확장할 수 있다. 파드가 Stateless 하기에 수평 확장이 쉽고 파드들은 상호 대체 가능하다. 이렇듯 쿠버네티스는 Stateless 한 애플리케이션을 관리하는데 특화되어 있다. 아무래도 컨테이너 기술 자체가 그렇듯이 말이다. 그러나 데이터베이스와 같이 Stateful 하게 관리해야 할 때도 있을 것이다. 그럴 땐 어떻게 할까? MySQL, mongoDB, redis와 같은 데이터베이스 어플리케이션이 담긴 파드가 사라질 때, 데이터가 함께 사라지도록 두어서는 안 된다. 쿠버네티스에서 제공하는 Volume은 컨테이.. 더보기 [k8s]서비스 디스커버리 쿠버네티스의 목적 쿠버네티스는 컨테이너화 된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장 가능한 오픈소스 플랫폼이다. 즉 대량의 컨테이너를 쉽게 관리하기 위한 도구이다. 이 쿠버네티스의 파드는 컨테이너를 실행하는 가장 작은 작업단위이다. 파드에 직접 접근하지 않도록 파드는 노드와 클러스터로 감싸져있다. 이는 서비스 간의 강한 의존성을 제거하기 위한 Decoupling과정으로, 이것의 장점은 앞서 배운 MSA와 비슷하다. 서비스 파드를 네트워크 상에 노출시킬 수 있게 만드는 리소스 파드 접근 정책을 정의하는 추상적 개념 spec.selector가 결정한다. 서비스 디스커버리 마이크로서비스 사이에서 서로가 서로를 호출하는 방법(IPC: Inter-Process Communication)이다. 동기.. 더보기 [k8s]쿠버네티스 개념 쿠버네티스(Kubernetes, k8s)란 오픈소스로 만들어진 컨테이너 오케스트레이션 도구 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등의 관리 기능을 제공 각기 다른 환경(온프레미스 서버, VM, 클라우드)에 대응 가능 무엇을 오케스트레이션 하나? orchestrate의 사전적 의미는 다음과 같다. to plan and organize something carefully and sometimes secretly in order to achieve a desired result 아키텍처가 모놀리식에서 마이크로 서비스화되어 필요한 컨테이너가 증가하고, 확장성을 높이기 위해 스케일링을 할 경우 더욱 많은 컨테이너가 필요하다. 이 때 쿠버네티스는 수 많은 컨테이너를 더 잘 관리할 수 있는 도구이다.. 더보기 이전 1 다음