for Developer/Kubernetes 4

k8s::쿠버네티스 오브젝트 (Labels and Selectors)

레이블은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. 레이블로 오브젝트의 하위 집합을 선택하고 구성하는데 사용할 수 있으며 레이블을 붙이는 시점은 오브젝트를 생성할 때나 생성 이후 언제든 가능하다. "metadata": { "labels": { "key1": "value1", "key2": "value2", } } Motivation 레이블을 이용하면 사용자가 느슨하게 결합한 방식(상호 의존성을 줄이는 방식)으로 조직 구조와 시스템 오브젝트를 매핑할 수 있으며, 클라이언트에 매핑 정보를 저장할 필요가 없다. 서비스 배포와 Batch Processing은 보통 다차원의 엔티티들이다. (예를들어 ..

k8s::쿠버네티스 오브젝트 (namespace)

쿠버네티스는 동일한 물리 클러스터를 기반으로 하는 여러 가상 클러스터를 지원한다. 이런 가상 클러스터를 네임스페이스라고 한다. 네임스페이스는 여러 개의 팀이나, 프로젝트에 걸쳐서 많은 사용자가 있는 환경에서 사용하도록 만들어졌다. 리소스의 이름은 네임스페이스 내에서 유일해야 하지만, 네임스페이스를 통틀어서 유일할 필요는 없다. Working with Namespaces 네임스페이스 생성/삭제 //create kubectl create namespace //delete kubectl delete namespace 네임스페이스 조회 kubectl get namespace NAME STATUS AGE default Active 1d kube-system Active 1d kube-public Active 1d..

k8s::쿠버네티스 컴포넌트

쿠버네티스 클러스터는 컨테이너화된 애플리케이션으 실행하는 노드라고하는 워커 머신의 집합이다. 모든 클러스터는 최소 한 개의 워커 노드를 가진다. 워커 노드는 애플리케이션의 구성요소인 파드를 호스트한다. Control Plane은 워커 노드와 클러스터내 파드를 관리한다. Control Plane Component 클러스터에 관한 전반적인 결정(ex. 스케줄링)을 수행하고 클러스터 이벤트(ex. deplotment의 replicas field에 대한 요구 조건이 충족되지 않을 경우 새로운 파드 구동)를 감지하고 반응한다. kube-api-server API 서버는 쿠버네티스 API를 노출하는 쿠버네티스 컨트롤 플레인 컴포넌트이다. API 서버는 Control Plane Component의 Front-end이..

k8s::쿠버네티스란 무엇인가

What is Kubernetes(k8s)? 구글이 2014년 오픈소스화한 프로젝트 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. Going back in time Traditional Deployment (전통적인 배포) 애플리케이션을 물리 서버에서 실행 한 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없기에 리소스 할당의 문제 발생 여러 애플리케이션이 하나의 물리서버에 배포되면, 리소스를 전부 차지하는 애플리케이션 인스턴스가 발생 할 수 있고 이에 다른 애플리케이션의 성능저하 Virtualized Deployment (가상화된 배포) 단일 물리 서버의 CPU에서 여러 가상 시스템(V..

반응형