쿠버네티스(Kubernetes)란?
다수의 컨테이너를 효율적으로 배포, 확장, 관리하기 위한 오픈소스 시스템이다.
도커 컴포즈의 확장판이라고 생각하면 된다.
다만 도커 컴포즈도 다수의 컨테이너를 관리하긴 하지만 그 수가 너무 많을 때는 관리하기 힘들다.
쿠버네티스는 이를 확장한 버전의 기술이라고 생각하면 되는데
쿠버네티스는 도커 컴포즈보다 훨씬 많은 컨테이너를 관리하기 용이한 기술이다.
Kubernetes
의 k와 s 사이의 8글자를 줄여서 k8s
라고도 부른다.
쿠버네티스 장점
- 컨테이너 관리 자동화
- 컨테이너의 배치, 확장, 운영을 자동으로 관리해준다.
- 확장성
- 애플리케이션을 확장하고 축소하기가 쉽다.
- 필요에 의해 애플리케이션의 규모를 유연하게 변경할 수 있다.
- 부하 분산
- 네트워크 트래픽을 자동으로 분산시켜서 애플리케이션의 성능을 최적화해준다.
로드 밸런싱
이라고도 부른다.
- 높은 가용성
- 앱이 계속 잘 작동하도록 도와준다.
- 문제가 생겼을 때 자동으로 해결해준다.
- 스토리지 자동 관리
- 다양한 스토리지를 자동으로 연결하여 관리한다.
- 이 때 스토리지와 연결하는 것을
마운트
라고 부른다.
- 셀프 힐링
- 사용자가 많아지면 리소스를 늘리는 것처럼 문제가 생기면 스스로 고친다.
쿠버네티스 단점
- 복잡성
- 설정과 운영이 매우 복잡하다.
- 리소스 소모
- 많은 컴퓨터 자원을 필요로 하기 때문에 시스템의 규모가 커질수록 많은 자원이 필요해진다.
- 학습 난이도
- 난이도가 높은 기술이기 때문에 진입장벽이 크다.
- 호환성 문제
- 특정 인프라나 클라우드 서비스와 잘 맞지 않을 수 있다.
- 쿠버네티스를 사용할 때는 항상 호환성을 반드시 확인해봐야 한다.
- 업그레이드의 복잡성
- 쿠버네티스의 복잡성때문에 쿠버네티스 시스템을 항상 최신 상태로 유지하기는 어렵다.
- 업그레이드 과정에서 호환성 문제가 발생하는 경우도 있다.
쿠버네티스 설치
쿠버네티스를 직접 설치하는 것은 매우 어렵다.
Docker Desktop
을 통해 쉽게 쿠버네티스를 사용하자.
- 우선
Docker Desktop
을 먼저 설치해주자. Docker Desktop
을 실행해주자.- 우측 상단의 톱니바퀴 아이콘을 눌러서 Settings 메뉴로 진입하자.
- 왼쪽 메뉴 목록에 보면
Kubernetes
라는 메뉴가 있다. 해당 메뉴를 선택하자. - 이제
Enable Kubernetes
스위치를 눌러서 쿠버네티스를 활성화해주자. - 마지막으로 우측 하단에 있는 Apply & restart 버튼을 누르면 된다.
- 이제 잠시 기다리면 쿠버네티스 설치가 완료되고 왼쪽 하단에 도커 엔진 아이콘 옆에 쿠버네티스 아이콘이 추가된다.
- 아이콘이 추가되고 나면 CMD 창을 열어서
kubectl version
명령문을 실행해보자.- 버전 정보가 출력되면 성공이다.
참고로 kubectl version
명령문에서 보이는 kubectl
는
Kubernetes Control
의 약자로, 쿠버네티스에 명령어를 입력할 수 있게 해주는 CLI 툴이다.
만약에 kubectl
에서 뭔가 문제가 발생한다면 공식 문서를 확인해보자.