kubernetes 9

[Kubernetes] 쿠버네티스에서 POD(파드)란? 그리고 POD 생성하기

[Kubernetes] 쿠버네티스에서 POD(파드)란? 그리고 POD 생성하기 l Kubernetes 파드(Pod)는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다. 도커가 가장 일반적으로 잘 알려진 컨테이너 런타임이지만, 쿠버네티스는 도커 외에도 다양한 컨테이너 런타임을 지원한다. 파드는 하나 이상의 컨테이너의 그룹이며 스토리지 및 네트워크를 공유하고, 해당 컨테이너를 구동하는 방식에 대한 명세를 갖는다. 파드의 컨텐츠는 항상 함께 배치되고, 스케줄되며, 공유 컨텍스트에서 실행된다. 즉, 파드는 공유 네임스페이스와 공유 파일시스템 볼륨이 있는 컨테이너들의 집합과 비슷하다. 파드는 각 애플리케이션의 "논리 호스트"를 모델링한다. 여기에는 상대적으로 밀접하게 결합된 하나 이..

[kubernetes] minikube에서 로컬 docker image 사용하기

[kubernetes] minikube에서 로컬 docker image 사용하기 l Kubernetes, Docker 일반적으로 로컬 컴퓨터에서 쿠버네티스(Kubernetes)를 테스트할 때 minikube 환경을 많이 사용한다. 도커 데스크탑(docker desktop)이 설치된 환경에서도 쿠버네티스를 활성화하면 minikube가 활성화되어 동작한다. 이러한 환경에서 kubectl run 또는 yaml로 파드를 생성할 때, 로컬의 이미지를 사용할 경우 이미지를 가져올 수 없다는 오류와 함께 파드가 생성된 후 종료된다. 이번 포스트에서는 minikube 환경에서 로컬의 docker image를 사용하여 파드를 생성하는 방법을 알아본다. 로컬의 docker images에서 커스텀 빌드된 이미지 proxys..

[Kubernetes] 쿠버네티스에서 파드 생성시 프라이빗 레지스트리 이미지 사용하기

[Kubernetes] 쿠버네티스에서 파드 생성시 프라이빗 레지스트리 이미지 사용하기 l Kubernetes Kubernetes 환경에서 pod를 생성할 때 Private Registry에서 이미지를 다운받아 실행하는 방법에 대해서 알아본다. 현재 구성되어 있는 실습 환경은 MAC OS + PODMAN + MINIKUBE이다. 일반적으로 많이 사용하는 docker 환경은 아니지만 사용법이 거의 유사하기 때문에 따라하는데 크게 문제가 없으리라 생각한다. Minikube 설치 및 Podman 설치는 공식 문서에 쉽게 설명되어 있기 때문에 여기에서는 다루지 않는다. l Podman Installation Instructions : https://podman.io/docs/installation l miniku..

[Kubernetes] vagrant 환경에서 Kubernetes 클러스터 구성하기

[Kubernetes] vagrant 환경에서 Kubernetes 클러스터 구성하기 l Kubernetes on vagrnat vagrant에서 Kubernetes 클러스터를 구성하는 방법에 대해서 알아본다. 클러스터 구성환경은 virtualbox에 centos8 운영체제의 의 가상머신을 3개 생성하고, 각 머신은 master, woker1, woker2로 구성한다. l vagrant를 활용한 개발 환경 구축하기 : https://sungwookkang.com/1523 l vagrant로 가상머신 생성하기 : https://sungwookkang.com/1524 호스트이름 IP 역할 k8s-master 192.168.10 Master node k8s-worker1 192..168.11 Worker nod..

[Prometheus] Prometheus Thanos 아키텍처 살펴보기

[Prometheus] Prometheus Thanos 아키텍처 살펴보기 l Prometheous with Thanos Thanos(타노스)는 CNCF(https://www.cncf.io/)의 인큐베이팅 프로젝트로, 프로메테우스의 확장성과 내구성을 향상시키기 위한 오픈소스 프로젝트이다. l Prometheus 확장 및 내구성을 위한 다양한 구성 방법 : https://sqlmvp.tistory.com/1521 Thanos는 Prometheus 2.0 스토리지 형식을 활용하여 빠른 쿼리 대기 시간을 유지하면서 모든 개체 스토리지에 메트릭 데이터를 효율적으로 저장한다. 또한 운영중인 프로메테우스 서버의 데이터를 통합 저장 및 외부 저장소에 데이터를 저장할 수 있기 때문에 보관 기간에 제한이 없고, 단일 쿼리..

[Prometheus] Prometheus 확장 및 내구성을 위한 다양한 구성 방법들

[Prometheus] Prometheus 확장 및 내구성을 위한 다양한 구성 방법들 l Prometheous with Thanos Prometheus(프로메테우스) 모니터링 시스템은 오픈 소스 기반의 모니터링 시스템으로 Kubernetes(쿠버네티스) 활성화 함께 많이 사용되고 있다. 프로메테우스는 구조가 간단하며, 운영이 쉽고 강력한 쿼리 기능을 가지고 있다. 간단한 텍스트 형식으로 메트릭 데이터를 쉽게 익스포트 할 수 있으며, key-value 형식의 데이터 모델을 사용한다. 수집된 데이터는 Grafana(그라파나)를 통해 시각화를 제공한다. l Prometheus 구조 및 개념 : https://sqlmvp.tistory.com/1520 프로메테우스의 가장 큰 약점은 확장성과 가용성이다. 프로메테..

[Prometheus] Prometheus 구조 및 개념

[Prometheus] Prometheus 구조 및 개념 l Prometheous Prometheus(프로메테우스) 모니터링 시스템은 오픈 소스 기반의 모니터링 시스템으로 Kubernetes(쿠버네티스) 활성화 함께 많이 사용되고 있다. 물론 쿠버네티스 환경 외에도 일반적인 온프레미스 환경에서도 사용이 가능하여 많은 인기를 끌고 있다. 현재 CNCF(Cloud Native Computing Foundation)에 소속되어 있다. 프로메테우스는 구조가 간단하며, 운영이 쉽고 강력한 쿼리 기능을 가지고 있다. 간단한 텍스트 형식으로 메트릭 데이터를 쉽게 익스포트 할 수 있으며, key-value 형식의 데이터 모델을 사용한다. 수집된 데이터는 Grafana(그라파나)를 통해 시각화를 제공한다. 프로메테우스는..

Kubernetes 장점

Kubernetes 장점 · Version : 쿠버네티스(Kubernetes) 환경에서는 컨테이너에 애플리케이션에 필요한 모든 항목이 포함되어 있기 때문에 시스템 관리자가 애플리케이션을 실행하기 위해 아무것도 설치할 필요가 없다. · 애플리케이션 배포 단순화 : 쿠버네티스는 모든 워커 노드를 단일 플랫폼으로 제공하므로 애플리케이션 개발자는 자체적으로 배포할 수 있으며 클러스터를 구성하는 서버에 대해서 알 필요가 없다. 특히 특정 컨테이너가 SSD에서만 실행되거나 또는 HDD에서만 실행되어야 하는 경우처럼 특정 리소스가 필요한 경우 쿠버네티스 노드에서 필요한 리소스가 있는 노드를 선택해서 배포할 수 있다. · 효율적인 하드웨어 활용 : 쿠버네티스환경에서 애플리케이션을 배포,실행하면 애플리케이션 리소스 요구..

Kubernetes 마스터 노드, 워커 노드

Kubernetes 마스터 노드, 워커 노드 · Version : 쿠버네티스(Kubernetes) 클러스터에서 마스터 노드는 전체 쿠버네티스 시스템을 관리하고 통제하는 쿠버네티스 컨트롤 플레인을 관장한다. 워커 노드는 실제 배포하고자 하는 애플리케이션 실행을 담당한다. 마스터 노드(컨트롤 플레인)에서는 클러스터를 관리하고 클러스터의 기능을 실행한다. 단일 마스터 노드에서 실행하거나 여러 노드로 분할 및 복제되어 고가용성을 보장할 수 있는 여러 구성요소로 구성 될 수 있다. · API Server : 사용자와 컨트롤 플레인과 통신하는 쿠버네티스 API · Scheduler : 애플리케이션을 예약하는 스케줄러로, 배포 가능한 각 구성 요서에 워커 노드 할당을 담당 · Control Manager : 구성 요..