본문 바로가기
728x90

Kubernetes23

[8] 쿠버네티스 서비스 지금까지는 파드로 컨테이너 기반 애플리케이션을 띄우고 디플로이먼트로 파드의 레플리카 수와 버전을 관리하였다. 하지만 이것만으로는 파드로 띄운 웹 애플리케이션을 쿠버네티스 클러스터 외부로 서비스할 수 없다. 왜냐하면 파드는 파드 고유의 IP를 가지긴 하지만 클러스터 내부용 IP이며, 파드는 클러스터의 상태에 맞게 생성되고 삭제되기 때문에 파드는 영구적인 리소스가 아니다. 즉, 파드가 장애가 났다고 판단하면 디플로이먼트가 파드를 재구동 시키면서 파드의 IP가 유지되지 않아서 파드가 클러스터 외부와 통신이 가능한다 하더라도 제대로된 서비스를 할 수가 없다. 이러한 파드의 특성 때문에 쿠버네티스의 클러스터 외부에서 파드와 통신할 수 있도록 하는 메커니즘이 필요하다. 필요한 기능은 먼저 파드가 영구적인 리소스가 .. 2022. 2. 9.
[7] 쿠버네티스 디플로이먼트 쿠버네티스는 파드를 생성하여 컨테이너 애플리케이션을 구동한다. 그런데 실제로 쿠버네티스 환경으로 운영할 때는 파드 자체를 생성하지 않고 디플로이먼트와 같은 워크로드 리소스를 생성하여 파드 집합을 관리한다. 이 워크로드 리소스는 원하는 파드의 종류와 갯수가 실행될 수 있도록 원하는 상태(desired state) 를 보장하는 컨트롤러를 구성한다. 이 장에서는 워크로드 리소스 중 하나인 디플로이먼트에 대해 알아보자. 디플로이먼트 디플로이먼트는 파드와 레플리카셋에 대한 선언적 업데이트를 제공한다. 디플로이먼트에서 원하는 상태(desired state)를 기술하며, 디플로이먼트 컨트롤러가 현재 상태를 원하는 상태로 변경한다. 디플로이먼트는 새로운 레플리카셋을 생성할지, 기존 디플로이먼트를 제거하고 제거 대상 모.. 2022. 1. 23.
[5] 쿠버네티스 오브젝트 (2) 이번에는 쿠버네티스 오브젝트에서 공통적으로 가지는 항목에 대해 알아볼 것이다. 이 장에서는 쿠버네티스 오브젝트와 쿠버네티스 오브젝트의 메타데이터 항목인 네임스페이스, 레이블, 애노테이션에 대해 알아볼 것이다. 쿠버네티스 오브젝트 쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가지는 오브젝트이다. 쿠버네티스는 클러스터의 상태를 나타내기 위해 오브젝트를 이용하는데, 여기서 클러스터 상태라는 것은 다음과 같다. 동작 중인 컨테이너 애플리케이션 애플리케이션이 이용할 수 있는 리소스 애플리케이션의 재구동, 업데이트, 내고장성과 같은 것에 대한 동작 정책 Spec, Status 대부분의 쿠버네티스 오브젝트는 오브젝트를 구성하기 위해 spec 과 status 라는 두 개의 필드를 가진다. spec 은 오브젝트에.. 2022. 1. 2.
[4] 쿠버네티스 오브젝트 (1) 쿠버네티스는 클러스터 환경에서 컨테이너 기반 애플리케이션을 배포하고 서비스하며 관리하는 컨테이너 애플리케이션 오케스트레이터 역할을 한다. 쿠버네티스에서 컨테이너 기반 애플리케이션을 포함하여 애플리케이션을 배포하고 관리하는 역할을 하는 객체들을 모두 쿠버네티스 오브젝트 라고 한다. 구체적으로는 다음의 의미를 갖는다. 동작 중인 컨테이너 기반 애플리케이션 컨테이너 기반 애플리케이션을 구동시키는 노드 애플리케이션이 사용할 수 있는 리소스 재구동, 업그레이드 및 내결함성에 대한 애플리케이션의 정책 쿠버네티스 오브젝트를 생성하게 되면 쿠버네티스 시스템은 해당 오브젝트가 존재하는지 확인하기 위해 지속적으로 작동한다. 그리고 쿠버네티스 오브젝트는 명세(spec)과 상태(status)를 갖는 객체이다. 여기서 명세는 .. 2021. 11. 24.
[1] 쿠버네티스 소개 쿠버네티스 쿠버네티스는 구글에서 만든 컨테이너 오케스트레이션 오픈소스 플랫폼으로, 분산된 여러 서버에 여러 컨테이너 애플리케이션을 쉽게 배포하고 관리할 수 있도록 하는 환경을 만들기 위해 쿠버네티스를 사용한다. 그럼 쿠버네티스에서는 어떻게 분산된 여러 서버에 컨테이너 애플리케이션을 배포하고 관리할까? 클러스터 쿠버네티스는 컨테이너 애플리케이션을 배포할 여러 서버들을 하나의 클러스터로써 관리한다. 쿠버네티스에서는 클러스터로 묶은 서버들을 노드라고 부른다. 그리고 노드의 종류로는 컨트롤 플레인 노드와 워커 노드가 있다. 워커 노드 는 실제로 쿠버네티스에 배포된 애플리케이션이 구동되는 노드이고, 컨트롤 플레인 노드는 워커노드와 컨테이너 애플리케이션 등 쿠버네티스 전체를 관리하는 역할을 한다. 그리고 각 노드에.. 2021. 11. 20.
728x90