본문 바로가기

좋아하는 것_매직IT/15.kubernetes

0.Kubernetes, 쿠버네티스는 무엇인가?

반응형

쿠버네티스에 대해서 알아보자.

  • 쿠버네티스란?
    • 키잡이, 조종사를 의미하는 그리스어에서 유래함.
    • 보그와 오메가에서 얻은 교훈을 바탕으로 개발한 누구나 사용할 수 있는 컨테이너 오케스트레이터.
  • 쿠버네티스가 나오게된 이유?
    • 구글은 예전부터, 상용 워크로드를 위한 대규모 컨테이너를 운영하고 있었음.
      • 즉, 구글의 모든 서비스는 컨테이너에서 실행됨.
        • gmail
        • 구글 검색
        • 구글 맵
        • 기타등등
    • 이전에는 컨테이너 오케스트레이터가 없었기 때문에 구글은 직접개발하게 됨.
  • 쿠버네티스의 역사
    • 2014년 구글은 쿠버네티스 오픈 소스 프로젝트를 시작함
      • 이전에는 구글은 보그(Borg)라는 내부 컨테이너 오케스트레이터를 개발했었음.
        • but, 본질적으로 서버 풀에서 실행할 컨테이너를 할당하고 스케줄링하는 매우 강력한 중앙 관리 시스템이지만, 보그는 구글 내부 및 독점기술과 밀접하게 연결되어 있어서 확장하기 어렵고 외부에 공개할 수 없었다고 함.
  • 쿠버네티스의 성장
    • 쿠버네티스 이전에도 다른 오케스트레이터가 존재했지만 대부분 기업과 연계된 상용 제품이어서 광범위하게 채택되기는 어려웠다고 함.
      • but, 쿠버네티스는 진정한 무료 오픈소스컨테이너 오케스트레이터이고 그 등장으로 인해서 컨테이너 및 쿠버네티스 환경을 도입하려는 사례가 놀라운 속도로 증가하게됨.
    • 결국, 2017년 말, 오케스트레이터의 전쟁(?)이 끝나게됨.
      • 승리자는 바로.. 짠! 쿠버네티스..^^;
        • 여전히 기존에 있던 다른 시스템을 사용하는 곳이 있긴하나, 지금부터는 컨테이너 인프라를 도입하고자하는 기업은 쿠버네티스만 고려하면 된다고 함.

쿠버네티스의 특징에 대해서 알아보자.

  • 쿠버네티스를 사용하면 아래 작업들을 자동화해서 팀이 핵심작업에 집중할 수 있게도와줌.
    • 서버 업그레이드
    • 보안패치설치
    • 네트워크 구성
    • 백업
    • 기타 등등
  • 로드 밸런싱과 오토스케일링과 같은 기능 중 일부는 쿠버네티스 코어에 내장되어 있음.
    • 다른것들은 쿠버네티스 API를 사용하여 애드온, 확장, 서드 파티 도구에서 제공함.
  • 배포작업이 간단함.
    • 즉, 배포에 소요 되는 시간과 노력을 크게 줄임.
      • 기본적으로 롤링 업데이트로 무중단 배포를 지원함.
        • 첫째, 새로운 버전의 컨테이너를 실행
        • 둘째, 준비상태가 될때까지 기다림
        • 셋째, 이전 버전의 컨테이너를 종료함.
      • 카나리아 배포와 같은 지속적인 배포를 구현하는 기능도 제공함.
        • 카나리아 배포는 문제를 조기에 파악하기 위해 한번에 한 서버씩 업데이트를 점차적으로 롤아웃 함.
      • 일반적인 방식은 블루/그린 배포
        • 블루/그린 배포는 새로운 버전의 시스템을 병렬로 실행하고 완전히 실행된 이후에 시스템의 트래픽을 전환하는 방법
      • 참고) 배포 전략 관련 참고페이지
  • 오토스케일링을 지원함.
    • 서비스요청 급증으로 발생하는 서비스 중단을 더는 걱정하지 않아도 됨.
      • 즉, 컨테이너의 CPU 사용률을 감시해서 일정 수준에 이르면, 쿠버네티스는 사용률이 임계치 이하로 떨어질때까지 컨테이너의 새로운 레플리카를 계속 추가할 수 있음.
      • 그리고, 서비스요청이 감소하면, 증가시켰던 레플리카를 다시 축소하여 다른 워크로드를 실행할 클러스터 용량을 확보하는 전략을 사용함.
  • 다중화와 절체 기능이 내장되어있음.
    • 즉, 애플리케이션의 안정성과 탄력성을 제공함.
  • 비용낭비를 최대한 줄일 수 있음.
    • 한가지 예를 들면, 제가 개발및 운영하고 있는 네이트온 서버는 아직 전통적인 서버방식으로 운용중인데, 트래픽이 많이 감소해서, OS 업그레이드할때 수동적으로 장비를 빼곤했었음.
      • 즉, 수동적으로 장비를 빼지않으면, 서버들이 유휴 상태로 존재하게 됨. 즉, 트래픽에 비해 서버 리소스 , 전기료 및 비용이 낭비가 됨.
        • 쿠버네티스를 좀 더 확실하고 자세하게 공부해서 개선방안을 강구해봐야겠다고 다짐함..^^;
    • 다시 본론으로 돌아가서, 쿠버네티스는 낭비되는 용량을 가져와서 워크로드를 실행하는데 사용하므로 시스템 활용도를 전통적인 방식보다 상대적으로 높일 수 있음.
      • 스케일링,로드밸런싱,절체 기능 또한 무료로 제공한다고함. 대박!

결론

  • 쿠버네티스란 보그와 오메가에서 얻은 교훈을 바탕으로 개발한 누구나 사용할 수 있는 컨테이너 오케스트레이터.
    • 2014년 구글은 쿠버네티스 오픈 소스 프로젝트를 시작함.
  • 쿠버네티스의 특징은 배포가 간단해지고, 다중화, 절체 기능, 그리고 비용낭비를 줄일 수 있다는 특징이 있음.
  • 오늘도 쿠버네티스관련 정보에 대한 마술(?) 한가지 획득완료! 감사합니다.^^

  • 오늘의 명언 한마디
    • 나는 50년 전의 내가 아니다. 10년 전의 나도 아니고, 작년이나 어제의 나도 아니다.
    • 나는 이 문장을 썻던 사람이 아니다. 그렇다면 어떤 내가 죽을 것인가? 모든 것이, 그야말로 모든것이 한꺼번에 변하는 이 순간은 그 어느 순간보다 미스터리하고 강렬하다.
      • 샐리 티스데일지음, "인생의 마지막 순간에서" 중에서..

  • 오늘의 영어 한마디
    • From the top of the building, you can see far.
      • 건물 위에 있으면 / 너는 볼 수 있다. / 멀리까지
    • 설명
      • 예문에서 "From the top of the building,", 즉 건물위에서를 보면, "from" 은 사물을 바라보는 장소, 즉 관찰자의 시점임.
        • 즉, "from"은 물체를 판단할때 출발점이나 기원을 의미함.
        • 그리고, 물건이나 사물을 볼때, 어디서 보느냐에 따라 달라 보임. 
          • 다시말해서, 사물을 보고 판단하는 시각, 시점, 관점이라는 의미가 됨.

  • 오늘의 민법 한마디(for real estate)
    • 제 1편 총칙 / 제 2장 인
      • 제 4조(성년)
        • 사람은 19세로 성년에 이르게 된다.
300x250