본문 바로가기

인프라/kubernetes

(12)
kubernetes 파드 파드 소개 한 파드에 여러 컨테이너가 있고 항상 하나의 노드에서 뜬다. 왜 파드가 필요할까? 왜 컨테이너를 직접 실행하지 않고 파드를 이용해 멀티플 컨테이너를 띄울까? 한 머신에서 여러 프로세스를 띄워야할때 컨테이너는 하나에 한 프로세스만 띄우게 되어있으니 여러 프로세스를 띄우면 이를 관리하는것도 사용자가 해야된다. 그래서 이런 컨테이너를 묶어서 관리해줄 구조가 필요한데, 이게 파드가 필요한 이유다. 파드 이해하기 파드는 여러 컨테이너를 함께 묶기 때문에 안에 있는 컨테이너들은 같은 hostname 과 network interface 를 가진다. 파드 안의 컨테이너가 동일한 네트워크에서 실행되기 때문에 ip주소와 포트를 공유하게 되고 따라서 파드 안에 컨테이너들은 같은 포트를 사용하지 않도록 해야한다. ..
Kubernetes 첫걸음 2 레플리카 세트 어느 정도 규모가 있는 어플리케이션을 구축하려면 같은 파드를 여러개 실행해서 가용성을 확보해야한다. 이런 경우 사용하는게 레플리카 세트다. 똑같은 정의를 갖는 파드를 여러개 생성해서 관리하게 된다. yaml 파일에서 replicas 수 를 이용해서 파드의 복제본을 만든다 replicas 수를 작게 조절하면 그만큼 파드가 삭제된다. 삭제된 파드는 복원할 수 없기때문에 상태가 없는 (stateless) 어플리케이션에 사용하기 유리하다. 디플로이먼트 디플로이먼트는 레플리카 세트의 상위 개념으로 어플리케이션 배포의 기본단위가 되는 리소스다. 레플리카세트는 똑같은 파드의 레플리케이션 개수를 관리 및 제어하는 리소스라면, 디플로이먼트는 레플리카세트를 관리하는 리소스다. 레플리카세트의 생애주기 쿠버네티..
Kubernetes 첫걸음 Kubernetes란? 컨테이너화된 어플리케이션을 쉽게 배포하고 관리해주는 소프트웨어 시스템 많은 수의 컨테이너를 연돌시키기 위한 통합 시스템으로 컨테이너를 다루기 위한 API 와 명령행 도구 등이 제공된다. 개발자가 어플리케이션 매니페스트를 마스터에 개시하면 쿠버네티스는 어플리케이션을 워커 노드에 배포한다. 컨테이너를 이용한 어플리케이션 배포 외에도 도커 호스트 관리, 리소으를 고려한 컨테이너 배치, 스케일링, 컨테이너 로드밸런싱, 헬스 체크 등의 기능들이 제공된다. 쿠버네티스 사용의 장점 애플리케이션 배포의 단순화 하드웨어 활용도 높이기 오토스케일링 쿠버네티스 클러스터와 노드 쿠버네티스 클러스터는 쿠버네티스의 여러 리소스를 관리하기 위한 집합체다. 여기서 가장 큰 개념은 노드다. 노드는 쿠버네티스의 ..
kubernetes - kubernetes 란? 컨테이너화 된 오프로드와 서비스를 관리하는 오픈소스 플랫폼이다 쿠버네티스를 이해하기 위해 전통적인 방식의 서버 배포와 vm 을 이용한 서버 배포와 컨테이너를 이용한 서버 배포방식을 비교해 보자 전통적인 방식은 물리 서버에서 어플리케이션을 올려서 사용하는 방식인데 여러개의 어플리케이션을 동시에 한 물리 서버에서 올릴 경우에는 한 어플리케이션이 리소스를 많이 사용하고 있으면 다른 어플리케이션에 성능 저하가 발생한다. 이걸 해결 하기 위해선 여러 물리서버를 둬서 각 서버마다 하나의 어플리케이션을 두는건데 이 경우엔 리소스가 낭비가 되고 서버 비용이 많이 발생하게 된다. vm 을 이용한 방식은 리소스를 더 효율적으로 사용할 수 있다. 단일 물리서버에서 여러 vm 을 열 수 있고 어플리케이션 끼리 공유 할 수 없..