쿠버네티스(12)
-
[Kubernetes in Action] Volumes
Overview 이전 포스팅들에서 파드와, 파드와 상호작용하는 다른 쿠버네티스 리소스들에 대해서 살펴보았습니다. 이번 포스팅에서는 다시 파드로 돌아가서, 파드 안에 있는 컨테이너들이 외부의 Disk Storage나 Shared Storage를 사용하는 방법에 대해서 살펴보려고 합니다. 파드는 하나의 Logical Host 단위로 동작하기 때문에 파드 내에서 돌아가는 프로세스들은 CPU, RAM, Network Interface등을 공유합니다. 그렇지만 파드 내에 있는 개별적인 컨테이너들은 대체적으로 격리된 파일 시스템(isolated filesystem)을 갖는데, 그 이유는 파일 시스템이 컨테이너의 이미지로부터 오기 때문입니다. 컨테이너가 시작될 때, 이미지에 정의된 파일들이 빌드 타임에 추가됩니다. ..
2021.10.09 -
[Kubernetes in Action] Services
Overview 이전 포스팅에서 파드의 상태를 관리하고 항상 지정된 개수의 파드가 정상적으로 작동할 수 있도록 보장하는 Replication Controller, ReplicaSet에 대해서 살펴보았습니다. 이번 포스팅에서는 외부 / 내부의 클라이언트가 이렇게 생성된 여러 개의 파드와 안정적으로 연결할 수 있도록 도와주는 쿠버네티스 리소스인 "Service"에 대해서 살펴보려고 합니다. Introducing Services 마이크로 서비스 아키텍쳐에서 대부분의 파드는 클러스터 내부의 다른 파드로부터, 혹은 클러스터 외부의 클라이언트로부터 HTTP Request를 받아 처리합니다. 파드 자체는 클러스터 내부에서 유일하게 식별될 수 있는 IP를 갖지만, 해당 파드의 IP를 통해 파드에 직접 접근하는 것은 다..
2021.10.02 -
[Kubernetes in Action] Replication and Other Controllers
Kubernetes in Action 2nd Edition을 정리한 글입니다. Overview 이전 포스팅에서 쿠버네티스의 Basic Building Block인 파드에 대해서 자세하게 살펴보았습니다. 이번 포스팅에서는 파드를 생성하고 관리하는 쿠버네티스 매커니즘인 ReplicationController, ReplicaSet, DaemonSets에 대해서 살펴보려고 합니다. Keeping Pods Healthy 쿠버네티스의 장점 중 하나는 사용자가 제공하는 컨테이너들의 정보(어떤 컨테이너를 몇개씩 배포할 것인지)를 쿠버네티스에 제공하기만 하면 쿠버네티스가 이 정보대로 컨테이너들이 동작하도록 "보장"한다는 것입니다. 즉 사용자 입장에서는 파드를 생성한 후에 매뉴얼하게 이를 모니터링하고, 파드를 재시작하는 ..
2021.09.26 -
[Kubernetes in Action] Pods
Kubernetes in Action 2nd Edition을 정리한 글입니다. Overview 쿠버네티스의 Basic Building Block인 Pod의 정의와 동작원리에 대해 설명합니다. 또한 쿠버네티스에서 권장하는 Pod사용방식에 대해 안내하며 JSON, YAML 포맷을 통해 파드를 생성하고 종료하는 방법에 대해 설명합니다. 마지막으로 namespace & label등과 같은 개념에 대해서 설명합니다. Introducing Pods 파드(Pod)는 쿠버네티스의 Basic Building Block으로써 컨테이너들을 포함합니다.(일반적으로 1개의 파드에 1개의 컨테이너를 넣는 것을 권장하지만, 경우에 따라서 하나의 파드안에 여러 개의 컨테이너들을 넣을 수 있습니다.) 컨테이너를 하나씩 배포하는 도커와..
2021.09.25 -
[Kubernetes in Action] First Steps with Docker And Kubernetes
Kubernetes in Action 2nd Edition을 정리한 글입니다. Overview 도커와 쿠버네티스를 사용하여 간단한 애플리케이션을 Deploy 해보는 Chapter입니다. 간단한 애플리케이션을 컨테이너화 하고 쿠버네티스를 통해 배포해보면서 쿠버네티스의 동작 원리를 이해합니다. MacOS환경에서 진행되었으며 Docker, Kubernetes 등의 설치와 관련된 내용들에 대해서는 다루지 않습니다. Busybox Example 우선 도커 플랫폼이 어떻게 동작하는지 알아보기 위해 이미 만들어져있는 Busybox이미지를 사용해서 실행시켜 보도록 하겠습니다. # docker run : # tag를 명시하지 않으면 latest tag의 이미지를 찾습니다. docker run busybox:latest ..
2021.09.23 -
[Kubernetes in Action] Introducing Kubernetes
Kubernetes in Action 2nd Edition 을 정리한 글입니다. Overview Introduction Chapter인 만큼, Kubernetes 이전의 서비스 구조와 배포방법과 그에 따른 쿠버네티스의 필요성을 안내합니다. 그리고 쿠버네티스의 구성, 쿠버네티스를 알기 위해 반드시 알아야 하는 리눅스 컨테이너 시스템에 대해 설명하며, 리눅스 컨테이너 시스템을 활용한 대표적인 컨테이너 플랫폼인 도커(Docker)에 대해 살펴봅니다. Moving from monolithic apps to microservices 요즘, 거대한 monolithic application은 각각 그 도메인별로 나누어 작고 독립적인 단위로 배포가 됩니다. 이렇게 작게 나누어져 독립적으로 배포되고 기능하는 컴포넌트들을..
2021.09.21