
쿠버네티스는 가장 널리 사용되는 컨테이너 오케스트레이션 툴이다. 구글에서 개발하여 오픈소스로 공개되었다.쿠버네티스의 구성요소로는 클러스터, 컨트롤플레인, 노드(마스터,워커), 네임스페이스, 파드, 컨테이너 등이 있다.쿠버네티스를 배포하게 되면 모든 컴포넌트를 포괄하는

지난 시간에는 쿠버네티스의 기본개념과 구성요소에 대해서 알아보았다.이제 직접 쿠버네티스를 이용해서 컨테이너를 관리하는 실습을 해보자. 이를 위해 먼저 minikube를 다운받아야한다.미니큐브는 로컬 쿠버네티스이다. 쿠버네티스를 로컬에서 테스트할 수 있게 만들어놓은 것이

이전의 실습에서 다음을 수행했다.컨테이너를 파드 단위로 deployment를 통해 배포한다. deployment는 파드를 관리하는 컨트롤러다.service 명세하여 deployment에게 IP, 포트를 할당하여 외부로 노출시킨다. 이를 통해 로컬 및 외부에서 이 서비스

지난 시간에서 도커헙에 있는 이미지를 바탕으로 쿠버네티스 클러스터에 컨테이너를 배포하고 서비스를 통해 외부 트래픽 연결까지 해보았다. 요약하자면 전체적인 앱 배포까지의 플로우를 실습했다. 그 다음 업데이트는 어케 할까?iOS 개발의 경험을 미루어볼 때, 앱스토어에 그냥

이전에 docker 실습을 통해 to-do앱을 컨테이너화 하고 배포할 수 있었다. 그리고 쿠버네티스 실습에서는 간단한 텍스트를 웹에 띄워주는 앱이 컨테이너화된 이미지를 deployment 워커로드를 통해 배포하고 관리해보았다. 이제는 좀 더 실제 앱에 가까운 예제로 실

Helm은 Kubernetes 애플리케이션을 관리하기 위한 패키지 매니저다. Helm을 사용하면 애플리케이션을 패키지로 만들고 배포할 수 있다. Helm은 차트(Chart) 라는 디렉토리 구조로 이루어진 패키지를 사용한다.Helm Chart는 Kubernetes 애플리

Helm chart로 배포된 앱들의 명세파일을 복습해보자. 이를 통해 각각의 work load resouce들이 어떤 역할을 하는지 파악해보자.

지난 시간에는 투두 리스트 앱을 배포하는데 사용된 쿠버네티스 워크로드 리소스들 중 가장 길었던 StatefulSets에 대해서 분석했다. 독립된 상태를 유지하는 리소스이기 때문에 mysql같은 데이터베이스 배포에 사용되며 크게 아래 사항들이 명세되었다.1\. 앱 실행에

k9s는 쿠버네티스 클러스터 상태를 볼 수 있게하는 UI를 제공해주는 툴이다.이전까지는 terminal을 통해 kubectl을 통해 명령어를 쳐서 namespace, pod, container 상태를 확인했다. 설치는 brew를 사용하면 간단히 할 수 있다.k9s 설

반복 스케줄링 작업을 만드는 쿠버네티스 공식 워크로드 리소스입니다.CronJob의 원리는 이렇습니다.반복적으로 특정 명령을 수행하는 파드를 하나 만듭니다. 그 파드가 ServiceAccount를 사용해서 Control Plane의 API 서버에 특정 명령을 내려달라고

인프라를 운영하다보면 다양한 이유로 쿠버네티스에서 운영중인 파드에 kubectl exec 명령어를 통해 해당 파드의 쉘을 실행하게 된다!k9s를 이용하면 해당 명령어를 단순히 s 단축키를 통해 아주 쉽게 쉘을 실행할 수 있다.갑자기 어떻게 저 명령어를 입력하면 해당 파

지난 시간에 이어 이번에는 subnet/kube 경로의 소스코드를 분석하게 되었다.시작하기전에.. 네트워크 관련 핵심 사항들을 좀 짚어보자쿠버네티스에서 Flannel을 통한 컨테이너간 패킷 경로는 이렇다.veth는 격리된 컨테이너 네임스페이스와 호스트 네트워크를 연결하