kubernetes
쿠버네티스(Kubernetes)에 대한 기초를 익혀봅니다. 쿠버네티스를 배우는 이유는 단순합니다. Application을 개발/배포하는데 많은 도움을 주기 때문입니다.
초기 Application에는 네트워크가 없었습니다. 따라서 지금처럼 Application을 쉽게 배포할 수 없었습니다.
Application을 배포하기 위해서는 물리적 디스크에 배포하여 로컬에서 인스톨하여 데이터를
관리 하였습니다. 예를 들면, 우리가 보통 사용하는
네트워크가 대중화 되면서, 물리 서버의 시대가 도래합니다. 회사로 치면, 서버실에 존재하는 서버들에 회사 Application을 설치하여 네트워크에 연동하는 방법입니다. 일반적인 방법 같지만, 이때도 단점은 존재합니다. 기본적으로 서버를 설치하기 위해서는 서버를 사야합니다. 그리고 기본적으로 비싼 서버는 배달에 오는데 몇 개월은 걸립니다. 또한 내가 산 서버를 설치하여 사용하다가 서버를 늘리고 싶다면, 다시 서버를 구입하여 배달오기를 기다려야 합니다. 하지만, 이 시기에는 이러한 방법이 최선이었습니다.
대부분 알고있는 AWS의 등장으로 대규모 퍼블릭 클라우드가 가능해 집니다. 이는 하드웨어를 가상화 하는 개념으로 자원(cpu / ram)을 동적으로 할당 받아 서버를 사용할 수 있음을 의미 합니다. 이는 물리 서버의 시대에서는 서버 증대를 위해 몇개월 걸리던 과정들이 마우스 버튼 클릭 하나로 cloud 서버를 사거나, 서버를 늘릴 수 있게 됩니다.
이러한 인프라 환경에 변화하면서, 운영체제 레벨에서도 가상화 처리가 가능하게 됩니다. 그것을 가능하게 하는 것이 바로
특정 목적을 위해 개발자가 만든 컴퓨터 프로그램