쿠버네티스란? 기본적으로 쿠버네티스는 컨테이너들을 관리 하는 도구이다. 만약에 도커를 이용해서 AWS에 도커를 배포하기를 원한다면 쿠버네티스는 필요치 않고 그냥 도커를 이용하여 배포하면 될것이다. 하지만 수업시간에 우리는 MSA(Micro Service Architecture)를 배웠다.
컨테이너관리
하나의 도커가 인증을 담당하고 하나의 도커는 또 다른 기능을 담당하고 또 다른 도커는 다른 기능을 담당하여 수많은 컨테이너들이 생긴다고 하면 여러개의 컨테이너들을 관리해야할 필요가 있고, 만약에 Payment를 담당하고 있는 도커서버가 죽게되면 우리는 바로 재시작해줘야할 필요야겠다. 꼭 결제를 담당하고있는 도커가 아니라고 할지라도 서비스의 핵심이되는 기능을 담당하는 도커서버가 죽게되면 서비스에 큰 영향을 끼칠수있다. 이럴때 쿠버네티스가 필요하다. 쿠버네티스는 최소 5개의 컨테이너들이 작동되게 할수있는데 그 중 하나나로 서버가 죽으면 쿠버네티스가 바로 죽은 도커를 재실행 해줄 것이다. 컨테이너가 많이 쪼개져있는 서비스일수록 쿠버네티스의 장점은 더더욱 커질것이다.
자동으로 트래픽에 따른 사이즈관리
또다른 기능으로는 갑자기 예상치 못하게 갑자기 트래픽이 몰리게 되는 상황에서 내가 예상한 예상치를 훨씬 순회하는경우 쿠버네티스는 자동으로 그에따라 새로운 컨테이너들을 만들어준다. 그러고 난 후 트래픽이 몰리는 양이 줄어들고 사람들이 서비스를 활용하지 않으면 자동으로 그 수를 조정 해준다.
업데이트시 서버를 중단할 필요가 없음.
또다른 장점으로는 클라우드에 컨테이너가 5개가 있다고 가정해보자 그 컨테이너들에 오류가 발생했고 새로운 컨테이너를 추가해줘야 하는 상황이라면 쿠버네티스가없이 어떻게 해야할까? 컨테이너를 끄고 업데이트된 새로운버전을 올리고 다시 컨테니어들을 켜야한다. 이렇게 되면 서버가 잠시 멈출것이다. 이러한 작업을 쿠버네티스는 차례차례 신규버전을 업데이트해준다. 서버가 다운될 일이 없는것이다.
모든 서비스에 쿠버테니스를 사용할 필요는없다. 필요한 서비스가 있을수있고 필요하지 않는 서비스가 존재할수있다. 하지만 많은 컨테이너들을 관리하는 서비스라면 관리프로그램으로 쿠버네티스는 좋은 대안이 될것이다.