https://kubernetes.io/ko/docs/concepts/overview/
https://www.samsungsds.com/kr/insights/220222_kubernetes1.html
컨테이너 : 앱이 구동되는 환경 까지 모두 감싸서 실행할 수 있도록 하는 격리 기술
컨테이너 런타임 : 컨테이너를 다루는 도구 -> 이중에 가장 유명한 것이 Docker
쿠버네티스 : 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구
오케스트레이션 : 여러 서버에 걸친 컨테이너 및 사용하는 환경 설정을 관리하는 것
** 오케스트레이션 : 컴퓨터 시스템과 애플리케이션, 서비스의 자동화된 구성, 관리, 조정을 의미합니다.
오케스트레이션은 IT 팀이 복잡한 태스크와 워크플로우를 보다 쉽게 관리할 수 있도록 돕습니다.
여러 개의 컴퓨터 시스템, 애플리케이션 및/또는 서비스를 조율하고 관리하는 것으로, 여러 개의 작업을 함께 연결하여 크기가 큰 워크플로나 프로세스를 실행하는 방식을 취합니다.
이러한 프로세스는 여러 개의 자동화된 작업으로 구성될 수 있으며 관련되는 시스템도 여러 개일 수 있습니다.
쉽게 말해서 컨테이너를 만드는 도구인 도커가 있고, 쿠버네티스는 이 도커같은 컨테이너 런타임을 통해서 컨테이너를 다루는 도구
쿠버네티스의 역할은 컨테이너를 분산 배치, 상태 관리 및 컨테이너의 구동 환경까지 관리해 주는 도구
도커는 컨테이너를 다루는 도구(컨테이너 런타임) 중 하나
쿠버네티스는 컨테이너를 다루기 위해 도커 이외에도 다양한 컨테이너 런타임 소프트웨어를 사용할 수 있습니다.
Virtualized Deployment(가상화 배포)와 Container Deployment(컴테이너 중심의 배포)는 다르다
가상머신(가상화배포)은 OS 운영체제 설치 위에 올라가는 완전한 컴퓨터
컨테이너는 OS가 어떤지에 상관이 없으나, OS환경이 공유된다. 이는 어떤 OS에서든 실행할 수 있는 독립의 운영 체제이다
쿠버네티스가 왜 필요하고 무엇을 할 수 있나
컨테이너는 애플리케이션을 포장하고 실행하는 좋은 방법이다. 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 한다. 예를 들어 컨테이너가 다운되면 다른 컨테이너를 다시 시작해야 한다. 이 문제를 시스템에 의해 처리한다면 더 쉽지 않을까?
그것이 쿠버네티스가 필요한 이유이다! 쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공한다. 애플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공한다. 예를 들어, 쿠버네티스는 시스템의 카나리아 배포를 쉽게 관리 할 수 있다.
쿠버네티스는 다음을 제공한다.
- 서비스 디스커버리와 로드 밸런싱 쿠버네티스는 DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있다. 컨테이너에 대한 트래픽이 많으면, 쿠버네티스는 네트워크 트래픽을 로드밸런싱하고 배포하여 배포가 안정적으로 이루어질 수 있다.
- 스토리지 오케스트레이션 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재 할 수 있다.
- 자동화된 롤아웃과 롤백 쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태를 서술할 수 있으며 현재 상태를 원하는 상태로 설정한 속도에 따라 변경할 수 있다. 예를 들어 쿠버네티스를 자동화해서 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든 리소스를 새 컨테이너에 적용할 수 있다.
- 자동화된 빈 패킹(bin packing) 컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공한다. 각 컨테이너가 필요로 하는 CPU와 메모리(RAM)를 쿠버네티스에게 지시한다. 쿠버네티스는 컨테이너를 노드에 맞추어서 리소스를 가장 잘 사용할 수 있도록 해준다.
- 자동화된 복구(self-healing) 쿠버네티스는 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며, '사용자 정의 상태 검사'에 응답하지 않는 컨테이너를 죽이고, 서비스 준비가 끝날 때까지 그러한 과정을 클라이언트에 보여주지 않는다.
- 시크릿과 구성 관리 쿠버네티스를 사용하면 암호, OAuth 토큰 및 SSH 키와 같은 중요한 정보를 저장하고 관리 할 수 있다. 컨테이너 이미지를 재구성하지 않고 스택 구성에 시크릿을 노출하지 않고도 시크릿 및 애플리케이션 구성을 배포 및 업데이트 할 수 있다.
'IT공부 > platform' 카테고리의 다른 글
[kubernetes] 쿠버네티스 아키텍처 (3) (0) | 2023.03.26 |
---|---|
[kubernetes] 쿠버네티스 아키텍처 (2) (0) | 2023.03.26 |
[kubernetes] 쿠버네티스 아키텍처 (1) (0) | 2023.03.25 |
[kubernetes] 쿠버네티스 소개 (0) | 2023.03.25 |
[kubernetes] 컨테이너 오케스트레이션? ~ 왜 쿠버네티스인가 (0) | 2023.03.24 |