profile
Software engineer
post-thumbnail

Kubernetes Deployment(디플로이먼트)

Deployment(디플로이먼트)는 ReplicaSet을 관리하는 controller 이다. 또한 ReplicaSet에서는 지원하지 않았던 업데이트에 관한 설정까지도 지원하여 더욱 안정적으로 container들의 운영이 가능하다. 직접 Deployment를 생성해보며 어떻게 사용하는지 살펴보자. (혹시 ReplicaSet에 대해 아직 모른다면 이전 글을 확인바란다.) Deployment 생성 및 동작방식 위의 예제 yaml 파일을 보면 한가지 발견할 수 있는 점이 있다. 그렇다! ReplicaSet을 생성할때와 kind가 바뀐 것 빼고는 완전히 동일하다. Deployment가 결국 ReplicaSet을 관리하는 controller이기 때문인데, 하나씩 살펴보자. kind는 당연하게도 `De

2022년 3월 15일
·
0개의 댓글
·
post-thumbnail

Kubernetes ReplicaSet(레플리카셋)

ReplicaSet(레플리카셋)은 관리하는 Pod를 원하는 갯수만큼 유지시켜주는 역할을 하는 controller 이다. 동작방식 ReplicaSet은 지속적으로 상태를 체크하여 원하는 갯수만큼의 Pod를 유지하고자 한다. 따라서 동작방식은 굉장히 간단하며 결국 아래와 같은 두가지 상황에 따라 동작방식이 정해진다. Pod 갯수가 부족할때 - ReplicaSet이 관리하고자 하는 Pod의 갯수보다 실제 동작중인 Pod의 갯수가 부족하다면 부족한 만큼 추가적인 Pod를 생성하여 갯수를 맞춘다. 예) ReplicaSet이 3개의 Pod를 관리하는 도중 어떠한 이유로 인해 Pod의 갯수가 2개로 줄었다면 ReplicaSet이 추가적인 Pod 한개를 생성해 3개로 유지한다. Pod 갯수가 초과할때 - ReplicaSet이 관리하고자 하는 Pod의 갯수를 실제 동작중인 Pod의 갯수가 초과한다면 초과된 갯수만큼 Pod를 종료하여 없앤다. 예)

2022년 2월 9일
·
0개의 댓글
·

Kubernetes controller

Controller 이전 포스트에서 Pod의 개념과 배포 방법에 대해 알아보았다. 하지만 일반적으로 Pod를 직접 배포해서 사용하는 경우는 거의 없다고 봐도 무방한데 이유는 그렇게 되면 배포된 모든 Pod를 개발자가 직접 관리해 줘야 하기 때문이다. 우리가 Kubernetes라는 container orchestration tool 을 사용하는 이유 중 하나는 수많은 container 들을 쉽게 관리하기 위해서인데, Pod를 일일이 배포해서 직접 관리를 한다면 그냥 container를 우리가 배포하여 운영하는 것과 전혀 차이가 없다. 그래서 Kubernetes 에서는 Controller 라는 개념으로 Pod의 배포와 관리를 도와 준다. 필요에 따라 다양한 Controller들이 있는데 이번 글에서는 종류와 역할에 대해서

2022년 1월 16일
·
0개의 댓글
·

Kubernetes Pod란?

Pod란 Kubernetes 에서 배포할 수 있는 가장 작은 단위이며, 한개 또는 여러개의 container 들의 묶음 이라고 생각하면 된다. 즉 Kubernetes cluster 내에 container를 배포하기 위해서는 container 별로 배포를 하는것이 아닌 Pod라는 단위로 container들을 묶어서 배포를 할 수 있다. 물론 Pod에 대해 처음 공부하려는 사람이라면 위의 말이 이해하기 쉽지 않을 것이다. 걱정말고 직접 예제와 함께 Pod를 생성해보며 개념과 특징들에 대해 알아본 뒤 위의 정의에 대해 다시한번 읽어 보면 좋을 것 같다. Pod 생성 예제와 함께 Pod에 대해 알아보기 위해 제일 먼저 생성하는 방법에 대해 알아보자. 기본적으로 Kubernetes 의 Object 생성은 kubectl 을 이용하는 방법과 yaml 파일을 이용하는 방법이 있다. kubectl을 이용하는 방법은 편리하긴 하지만 Kubernetes clus

2021년 12월 20일
·
0개의 댓글
·
post-thumbnail

minikube 설치 및 사용

쿠버네티스(Kubernetes)를 사용하기 위해 가장 먼저 해야할 일은 클러스터(cluster) 구축이다. 클러스터란 Control plane과 노드(node)들의 집합이며 쿠버네티스 운영의 가장 큰 단위라고 생각하면 되겠다. 한개의 클러스터에 서로 연관없는 서비스들을 다양하게 운영한다면 관리나 실수의 문제가 생길 여지가 높으므로 일반적으로 각각의 서비스 운영은 각각의 클러스터를 구축하여 운영하는 것이 일반적이다. minikube 위에서 설명한 클러스터를 구축하는 방법에는 여러가지가 있다. 그 중 local 환경에 가장 쉽게 클러스터를 구축할수 있게해주는 도구인 minikube에 대해서 살펴보겠다. 설치 전 준비사항 Docker 설치 - minikube에서는 minikube를 설치 및 사용하기 위한 환경으로 Docker를 가장 추천한다. 따라서 minikube 설치 전에 Docker를 반드시 설치하여 사용하는 것이 좋다. **k

2021년 10월 5일
·
0개의 댓글
·

쿠버네티스(Kubernetes)의 구조

쿠버네티스는 여러개의 components 들로 구성되어 있으며 각각의 역할에 따라 구분되어진다. 실제로 쿠버네티스를 사용 하기 전 어떻게 동작되는지 이해한다면 쿠버네티스를 사용하는데 많은 도움이 될 것이다. 아래의 그림과 함께 하나하나씩 살펴보겠다. Kubernetes components 출처: https://kubernetes.io/docs/concepts/overview/components 쿠버네티스는 크게 두 부분으로 나눌 수 있으며 각각 위의 그림 왼쪽박스에 있는 Control Plain과 오른쪽의 Node(일반적으로 worker node 라고 불림)이다. (참고: Node 라는 용어는 application이 돌아가는 하나의 machine 이라고 생각하면 된다.

2021년 9월 16일
·
0개의 댓글
·
post-thumbnail

쿠버네티스(Kubernetes)란?

쿠버네티스를 처음 접하는 개발자들의 진입장벽을 없애고자 하는 목적으로 개념과 사용방법들에 대해 최대한 쉽게 글을 써보려한다. 먼저 쿠버네티스란 무엇인지부터 살펴보겠다. 쿠버네티스(Kubernetes)란? 쿠버네티스(Kubernetes)는 containerized application 을 관리 해주는 오픈소스 플랫폼이다. 쉽게 말해보면 요즘 많은 곳에서 사용하는 기술인 container 를 하나하나 일일이 개발자가 직접 관리 하는게 아니라, 쿠버네티스에게 어떤 방식으로 관리를 해라라고 지시만 내리면 실제 관리는 쿠버네티스가 담당하는 방식이다. 여기에서 얘기한 관리에는 배포방식, scailing, network 등등 굉장하게 다양한 기능들이 포함된다. 따라서 쿠버네티스는 container orchestration 이라고 불리며 Kubernetes 이름의 "K"와 "s" 사이에 8글자가 있어 K8s 라고도 불린다.

2021년 8월 30일
·
0개의 댓글
·

CKA, CKAD 시험 후기

CKA, CKAD 정보 CKA (Certified Kubernetes Administrator), CKAD (Certified Kubernetes Application Developer) 모두 Linux Foundation에서 주관하는 Kubernetes 자격증으로 각각 아래의 web page 에서 신청이 가능하다. CKA - CKAD - 위의 신청 페이지에서 정보를 확인할 수 있지만, CKA, CKAD 모두 아래와 같이 운영된다. 응시료: $375 (2021년 7월부터 $300에서 올랐다 ㅠㅠ)

2021년 7월 8일
·
0개의 댓글
·