Kubernetes란?
- 컨테이너란, 우리가 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서, 어디서든 쉽게 실행할 수 있도록 해 주는 기술
- 컨테이너를 사용할 때 필요한 도구가 컨테이너 런타임입니다. 컨테이너를 쉽게 내려받거나 공유하고 구동할 수 있도록 해주는 도구인데요. 종류도 여러 가지가 있어요. 그중 가장 유명한 것이 도커이며 외에는 rkt, Hyper container등이 있다.
- 쿠버네티스는 컨테이너 런타임을 통해 컨테이너를 다루는 도구를 말해요. 쿠버네티스가 해 주는 일은 여러 서버(노드)에 컨테이너를 분산해서 배치하거나, 문제가 생긴 컨테이너를 교체하거나, 컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입해 주는 일 등입니다. 이것을 컨테이너 오케스트레이션
Kubernetes의 구조
클러스터 전체를 관리하는 컨트롤러로써 마스터가 존재하고,
컨테이너가 배포되는 머신(virtual 또는 physical) 노드가 존재합니다. (워커노드라고도 부릅니다.)
마스터 노드에서 적절한 워커노드에 컨테이너를 할당하고 운영하는 구조죠.
일반적으로는 마스터 노드가 1개로 전체 쿠버네티스 시스템을 관장하지만, 마스터 노드를 여러개 둬서 이중화하는 방법도 있습니다.
쿠버네티스 용어들
docker : 다양한 프로그램, 실행환경 등을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포와 관리를 단순하게 해준다. / 컨테이너 & 이미지 -> 이미지는 컨테이너 실행에 필요한 파일들과 설정을 가지고 있으며 변하지않음, 컨테이너는 이미지를 실행한 상태, 추가되거나 변하는 값은 컨테이너에 저장된다.
kubernetes : 컨테이너들의 orchestration tool
ecs : AWS에서 제공하는 컨테이너들의 오케스트레이션 툴
container : 운영체제의 커널이 하나의 인스턴스가 아닌 여러개의 격리된 인스턴스를 갖출수 있도록하는 서버 가상화 방식
image : container의 실행주체
pod -> 컨테이너의 묶음, 쿠버네티스 어플리케이션의 최소 단위
쿠버네티스의 vm 역할 / vm안에 서버 여러개 띄울 수 있듯이
node -> 안에 들어있는 vm instance 느낌
클러스터 안에 컨테이너를 계속 추가하면 리소스가 모자라게되면 자동으로 node를 추가함
ecs / kubernetes 용어차이
task = pod
container instance = node
service = deployment
load balancer = service
쿠버네티스를 지원하는 클라우드 벤더사들의 서비스 명
aws -> eks
nbp -> kubernetes service
Docker Vs Kubernetes
도커는 microservice를 컨테이너화 하는 플랫폼이고, 쿠버네티스는 컨테이너화 한 어플리케이션을 여러 서버에 배포할 때 관리를 수월하게 할 수 있게 함으로써 도커 워크로드를 다룰 수 있게 해주는 시스템이다.
Actuator
https://www.digitalocean.com/community/tutorials/spring-boot-actuator-endpoints
http://forward.nhnent.com/hands-on-labs/java.spring-boot-actuator/index.html
참고 링크들
Kubernetes 구조
https://artist-developer.tistory.com/31?category=949818
ECS Terminology for Kubernetes Users
https://medium.com/@eightlimbed/ecs-terminology-for-kubernetes-users-6f3ec91b4f47
용어 정리
https://zetawiki.com/wiki/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4_%EC%9A%A9%EC%96%B4
Kubernetes 용어 설명 & 구성
https://samsungsds.com/kr/story/220222_kubernetes1.html
'기타내용' 카테고리의 다른 글
시큐어코딩 Secure Coding (1) (0) | 2022.05.10 |
---|---|
[소나큐브] "static" base class members should not be accessed via derived types (0) | 2022.01.25 |
정보처리기사 필기 요약 (0) | 2021.04.14 |
전자정부프레임워크 (0) | 2021.02.02 |
method annotated with @bean is called directly. use dependency injection instead (0) | 2021.01.26 |