[쿠버네티스] 쿠버네티스를 공부해보자 - 1

2021. 5. 20. 12:02Do! 개발

원피스가 생각난다

도커도 어려운데 쿠버네티스라는 것을 알게되었다.

많은 기업들이 쿠버네티스를 사용하고 있다는 말에 공부를 시작해본다.

 

쿠버네티스는 무엇인가? 

컨테이너화된 애플리케이션을 효율적으로 배포하고 운영하기 위해 설계된 오픈 소스

플랫폼이다.

 

개발자들 위한, 개발자들을 위해, 개발자들에 의해 만들어진 개발자에게 매우 실용적이고 필요한 플랫폼이다.

개발자들은 환경설정에 애를 먹는다. 특히 오픈 소스의 버전... 

덕분에 개발자들 서로 다른 버전을 사용하는 상황도 발생하여 환경의 차이로 개발 생산성과 안전성이 떨어질 수 있다.

 

그래서 나오게된 컨테이너 기술은 애플리케이션 실행에 필요한 라이브러리나 운영체제 패키지 등을 한 곳에 모두 담는다. 이것을 개발들 서로 공유하여 환경을 맞춘다면 테스트와 운영 환경 간의 차이를 없앨 수 있어 개발 생산성을 높이고, 서비스를 안정적으로 배포할 수 있게 되는 것이다.

 

쿠버네티스의 시작은 구글(역시 갓)의 사내 운영 시스템인 Borg를 오픈 소스로 만든 것이다. 

크게 다음과 같은 기능을 제공한다.

  • 배포 계획에 맞춰 애플리케이션을 신속하게 배포할 수 있다
  • 가동 중인 애플리케이션을 스케일 업/다운할 수 있다.
  • 새로운 버전의 애플리케이션을 무정지로 업그리에드 할 수 있다.
  • 하드웨어 가동률을 높여 자원 낭비를 줄인다.

특징으로는

  • 다양한 환경에서 사용 가능
  • 계속되는 변화를 전제로 설계된 높은 유연성과 확장성
  • 고가용성과 성능 관리

등이 있다.

 

아키텍처는 매우 간단하다

출처 : https://blog.wonizz.tk/2019/08/16/kubenetes-install-guide/

마스터는 kubectl과 같은 API 클라이언트로부터 요청을 받아서 애플리케이션의 배포, 스케일 업/다운, 컨테이너의 버전 업 등의 요구를 처리한다. 

 

오늘은 여기까지

반응형