Minikube 설치

기술 저변을 확장하려면 개발자가 유입 되어야 한다. 그러기 위해서는 개발/테스트 환경이 잘 구성되어야 하는데, Kubenetes는 핫한 기술이기는 하지만 설치/운영이 쉽지 않다. K8s는 개념도 매우 복잡한데, 설치 하는 것 자체가 하나의 과업이다 보니 진입 문턱이 너무나 높다. 당장 클러스터를 구성해야 하는데, GCP나 AWS를 이용하려고 하면 비용이 문...

Kubernetes Service

문서에서 로컬에 kubernetes 개발환경을 구축다. 에서 애플리케이션 deployment를 만들었다. Kubernetes POD는 원리적으로 프로세스의 집합이다. 프로세서들이 라이프사이클을 가지는 것처럼 POD 들도 라이프사이클을 가진다. 만약 워커 노드가 죽으면, 워커노드위에 작동하는 POD들도 종료된다. 서버가 죽으면 서버 위에서 작동하던 프로세스...

Linkerd로 구축하는 Kubernetes Service mesh

서비스 메쉬(Service Mesh)란 애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스간 커뮤니케이션을 관리하는 다른 시스템과 달리, 서비스 메쉬는 애플리케이션에 구축된 전용 인프라 계층이다. 애플리케이션은 어떤 기능을 수행하기 위해서 다른 애플리케이션의 기능을 호출해야 하는 경우가 있다. 이커머스 애플리케이션에서 사...

Kubernetes Ingress

이 문서는 Kubernetes Ingress를 다룬다. NodePort와 LoadBalance는 참고 목적으로 다룰 것이다. 우분투리눅스 20.4 minikube로컬에 구축되는 minikube는 실제 클러스터를 구축하는게 아니기 때문에 CluseterIP를 외부에 노출 할 수 없다. minikube tunnel 을 실행 하자.# minikube tunn...

Kubernetes - Deployment

아직 Kubenetes 환경을 구축하지 않았다면 문서를 참고해서 구축하자.쿠버네티스의 최소 배포단위는 POD이다. POD는 실질적인 프로세스이고, Service 형태로 외부에 노출된다. POD이 프로세스이므로 POD의 사양 즉 프로세스의 이름, 프로세스를 실행할 컨테이너 이미지이름, 사용할 포트등의 명세서가 필요하다. 또한 Pod의 복제본 수, 업데이트되는...

Service Mesh에 대해서

서비스 메쉬(Service Mesh)는 마이크로서비스 아키텍처(MSA - Microservice Architecture)를 구성하는 애플리케이션들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스 메쉬는 애플리케이션 계층이기 때문에 소프트웨어 설정으로 유연하게 데이터 공유하는 방식을 관리 할 수 있다. 이러한 유연함은 컨테이너화 된 임시 애플리케이...

VirtualBox로 Kubernets 클러스터 구축하기

Kubernets 클러스터를 구성하려고 한다. 라고 로컬에 Kubernetes를 설치할 수 있는 애플리케이션이 있는 것 같기는 한데, 학습이나 테스트 용도 정도로 사용하는 것 같다. 내가 원하는 건 실제 환경에서 바로 써먹을 수 있는 기술을 익히는 거다. 그래서 VirtualBox 기반으로 클러스터를 구성하기로 했다. 구성 환경은 아래와 같다. 호스트 PC...

Kubernetes Pod

다른 컨테이너 오케스트레이션 툴과 달리, Kubernetes는 컨테이너를 직접 실행하지 않는다. 대신에 하나 이상의 컨테이너를 그룹으로 묶어서 구조화한 pod를 관리한다. 같은 pod에 포함된 컨테이너들은 네트워크, IPC, 볼륨등을 공유한다. Pod에 포함된 컨테이너들은 하나의 물리적 노드에 배치가 되는데, 때문에 이들 자원의 공유와 커뮤니케이션이 쉬워...

Kubernetes

쿠버네티스(Kubernetes, 줄여서 K8s 라고 부르기도 한다.)는 컨테이너 기반의 응용 프로그램의 배포, 확장, 관리를 자동화하는 오픈소스 소프트웨어다. 원래는 Google에서 디자인 했으며 지금은 Native Computing Foundation에서 관리하고 있다. 클러스터로 묶인 호스트위에서 컨테이너의 배치, 운영, 확장을 자동화하는 플랫폼의 개발...

Kubernets Concepts

쿠버네티스(혹은 K8s)는 컨테이너기반 애플리케이션과 서비스의 운영, 디플로이 자동화, 스케일링을 위한 소프트웨어 도구다. 도커 컨테이너 기반의 운영 툴 중에서는 가장 빠르게 성장하고 있는 소프트웨어라고 할 수 있다. 2014년 구글은 K8s를 오픈소스로 전환했다. 쿠버네티스는 아래의 목적으로 사용하기 위한 기능들을 제공한다. 컨테이너 플랫폼 마이크로 서...