패스트캠퍼스 캐시백 챌린지 57일차
쿠버네티스의 개요와 배포판과 관련된 내용의 클립들을 수강하는식으로 챌린지를 진행하였다. 9주차에 접어들게 되었는데 k8s에 관련된 포스팅을 하다가 다음주중으로 챌린지는 종료될듯하다. orchestration system에 관한 설명을 다시금 상기시킬 수 있었고 쿠버네티스를 실무에서 도입할 때 주의사항도 알 수 있었다. 다음 포스팅으로는 k8s cluster 구성요소와 관련된 내용을 포스팅할 예정이다.
쿠버네티스 소개
- 구글 내부에서 사용하던 배포시스템 borg를 기반으로 재작성하여 2014년에 오픈소스로 공개
- CNCF(Cloud Native Computing Foundation)라는 오픈소스 재단에 기부됨
- 가장 대표적인 컨테이너 오케스트레이션 시스템 : 사실상 표준
컨테이너 오케스트레이션 시스템
- 컨테이너의 배포,관리,확장,네트워킹을 자동화하는 기술
ex) Scaling, Rollback-Rollout,Resource Allocation,Scheduling,Load Balancing,Service Discovery,Self Healing,Configuration Management,Storage Orchestration
- 운영체제는 하나의 머신에서 프로세스를 효율적으로 관리하기 위한 프로세스 오케스트레이션 시스템
- 컨테이너 오케스트레이션 시스템은 여러 머신으로 구성된 클러스터 상에서 컨테이너를 효율적으로 관리하기 위한 시스템
- Kubernetes 외에도 Docker Swarm, Nomad, RANCHER, MESOS 등이있다.
왜 쿠버네티스를 선택하는가?
- Planet Scale
⇒ 구글에서 수 십억 개의 컨테이너를 운영할 수 있게 한 원칙 유지
⇒ 행성 규모로 확장할 수 있는 스케일
- Never Outgrow
⇒ 다양한 요구사항을 만족할 수 있는 유연함
⇒ 테스트용 로컬 규모부터 글로벌 서비스 규모까지 유연하게 크기 조정 가능
⇒ 필요한 기능이 없을 경우 CRD(Custom Resource Definition)를 통한 기능 확장
- Run Anywhere
⇒ 온프레미스 / 퍼블릭 클라우드 / 하이브리드 환경 어디서나 동작
⇒ 대부분의 리눅스 환경에서 동작하기 때문에 환경 이동에 제약이 없음
쿠버네티스 도입시 주의사항
- 복잡한 클러스터 구성
⇒ 쿠버네티스 자체가 여러 컴포넌트로 구성된 분산 시스템
⇒ 각 컴포넌트에 대한 이해 필요
- 방대한 학습량
⇒ 다른 컨테이너 오케스트레이션 시스템보다 다양한 지식 필요
⇒ 더 많은 요구사항을 만족하는 만큼, 익혀야 하는 기능도 많음
- 오버 엔지니어링
⇒ 운영해야 하는 서비스에 적합한가?
⇒ 쿠버네티스 운영 및 관리에 필요한 인력과 비용이 충분한가?
운영용 쿠버네티스 배포판
- 온프레미스같은 자체 서버 환경위에 클러스터 구성
- Cloud 환경에서 Computing Resource 활용하여 구축 : Amazon EC2
- Cloud Provider에서 제공되는 managed cluster사용 : Amazon EKS / Google Kubernetes Engine
실습 쿠버네티스 버전 및 배포판
- minikube v1.24
⇒ Kubernetes - v1.22
⇒ Driver - docker(kubernetes의 클러스터 노드 역할 대행)
- Amazon EKS
⇒ Kubernetes - v1.21
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
* 본 포스팅은 패스트캠퍼스 환급 챌린지를 위해 작성되었습니다.