2023년 3월 25일

출처: chapter 1

출처: 쉽게 시작하는 쿠버네티스(길벗)

본 문서는 쿠버네티스(Kubernetes)에 대한 설명과 함께, 쿠버네티스의 오브젝트와 클러스터, 그리고 데브옵스와 CI/CD 방법론에 대해 다룹니다. 쿠버네티스는 컨테이너 기반의 애플리케이션을 개발하고 배포할 수 있도록 설계된 오픈 소스 플랫폼입니다. 무중단 서비스와 클라우드 벤더 종속성 해결, 효율적인 자원 사용, 유연한 확장성, 애플리케이션 개발의 단순화, 애플리케이션 배포 가속화 등 다양한 특징을 가지고 있습니다.

쿠버네티스 등장 배경

2000년대의 가상화 환경

x86 호스트 운영 체제 위에 가상화 계층을 두고 그 위에 여러 개의 x86 게스트 운영 체제를 올려서 사용하는 가상화 환경으로 전환하면서 비즈니스 변화에 민첩하게 대응

x86 가상화 환경은 인프라를 확장할 때 스케일 아웃 방식을 사용하고, 메인프레임은 스케일 업 방식으로 확장

<aside> 💡 스케일 아웃 방식 : 서버 대수를 늘려서 처리 능력을 향상

스케일 업 : 서버 자체 성능을 향상

결론 : 기존 서버를 더욱 뛰어난 성능을 가진 서버로 변경하기 위해 CPU나 메모리를 추가

</aside>

Untitled

2010년대 퍼블릭 클라우드

내부에 시스템을 구축할 경우 서버를 도입하는 과정에서 여전히 많은 시간이 필요했고, 이미 구축된 외부의 서버를 빌려서 필요할 때만 사용하는 클라우드가 주목받기 시작

| IaaS | 인프란만 클라우드 벤더의 장비를 빌려서 사용 (가상화, 서버, 스토리지, 네트워킹 관리) | | --- | --- | | PaaS | 개발 환경까지 클라우드 벤더가 책임지고 유지 관리 (런타임, 미들웨어, OS, 가상화, 서버, 스토리지, 네트워킹 관리) | | SaaS | 서비스 영역까지 클라우드 벤더가 책임지고 관리 (애플리케이션, 데이터, 런타임, 미들웨어, OS, 가상화, 서버, 스토리지, 네트워킹 관리) |

컨테이너 환경

데스크톱, 기존의 IT 환경 또는 클라우드 등 어디서나 애플리케이션 및 서비스를 실행하는데 필요한 모든 요소를 포함하는 소프트웨어 패키지이다. 일반적인 가상화의 경우 하이퍼바이저 위에 가상 머신을 올려 사용하지만, 컨테이너 환경에서는 하이퍼바이저 대신 도커 같은 컨테이너 런타임 위에 컨테이너를 올려 사용한다.

컨테이너화 된 애플리케이션의 장점

이러한 컨테이너를 생성하고 실행할 수 있도록 도와주는 것이 바로 컨테이너 런타임이다.