이재홍의 언제나 최신 Kubernetes - Unit 1. Kubernetes

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

Kubernetes

이재홍 http://www.pyrasis.com

쿠버네티스는 다수의 컨테이너를 관리하고 확장, 자동화하는 오픈소스 플랫폼입니다. 2014년 구글에서 공개하였으며 현재 생태계가 빠르게 성장하고 있습니다.

쿠버네티스라는 이름은 키잡이(helmsman) 또는 파일럿이라는 뜻의 그리스어에서 유래되었습니다. 특히, k8s라는 명칭도 자주 볼 수 있는데 kubernetes에서 k와 s사이에 8글자가 있다고 해서 이렇게 표기하기도 합니다.

쿠버네티스가 널리 사용되게 된 이유는 Docker 컨테이너의 발전과 관계가 깊습니다. Docker 컨테이너의 정의와 장점에 대해서는 다음 문서들을 참조하기 바랍니다.

쿠버네티스를 간단하게 설명하면 컨테이너가 다운되었을 때 자동으로 다시 시작해주고, 트래픽이 몰리면 자동으로 확장을 해주는 도구입니다. 그리고 다양한 업데이트, 배포 패턴을 사용할 수 있게 해줍니다. 즉, 컨테이너로 분산 시스템을 실행하기 위한 플랫폼입니다.

쿠버네티스는 복잡하고 기능이 많아서 진입장벽이 높습니다. 따라서 이 문서에서는 복잡한 내용은 나중으로 미루고, 설치와 실행부터 해보면서 쿠버네티스에 대한 이해를 돕고자 합니다.

먼저 자신의 PC(로컬 머신)에 Minikube를 설치한 뒤에 클러스터를 생성해보고 Nginx 웹 서버를 실행해보겠습니다. 그다음에는 본격적으로 쿠버네티스 YAML 설정 파일을 작성하는 방법을 익혀보겠습니다.

쿠버네티스에 조금 익숙해졌다면, Spring Boot와 MySQL을 쿠버네티스에 실행해보겠습니다. 그리고나서 Minikube가 아닌 kubeadm과 kOps를 활용하여 여러 머신에서 실제 쿠버네티스 클러스터를 구축하는 방법을 알아보겠습니다.

YAML

JSON의 불편함을 해결하기 위해 만들어진 포맷이며 JSON의 슈퍼셋입니다. YANL(YAML Ain't Markup Language)은 주석을 지원하며, 문자열에 따옴표를 사용하지 않아도 됩니다. 앞으로 쿠버네티스를 사용하면서 모든 설정을 YAML로 작성하게 될 것입니다. 따라서, 다음 문서를 읽어보고 YAML에 익숙해지기 바랍니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2022-10-22