[ Study Note ] Kubernetes는 왜 쓸까 [ 역할 ]
항상 Docker와 Kubernetes는 함께 들려온다.
일단 Docker는 공부를 했지만 Kubernetes에 대해서는 모르고 있었다.
( 대충 구글에서 만들었다,,? 정도만 알고 있었음 )
그래서 오늘 Kubernetes가 무엇인지에 대하여 몇몇 대표 개념만 간단히 공부를 했봤다.
Kubernetes의 역할
일단 Kubernetes는 Docker의 Container와 연관이 깊다는 걸 알 수 있었다.
왜 연관이 깊냐 하면
Kubernetes = Docker Container 관리 도구!
그렇다면 Kubernetes는 Docker Container를 어떻게 관리해 줄까?
정확히는 무엇을 관리할까?
Kubernetes 기능 1 - Docker Container 다운 시 재시작
Kubernetes는 Container들을 모니터링하고 있다가
만약 갑자기 Container가 죽게 된다면?
Container 재시작을 해준다!
-> 만약 Kubernetes가 없었다 가정해 보자
- 쇼핑몰 사이트를 운영 중인데 가장 중요한 결제 Container가 죽게 된다면?
1. 관리자가 Container가 다운된 걸 확인하기까지의 시간
( 관리자가 항상 Container의 상태를 확인할 수 도 없고, 사람을 많이 쓰더라도 인력 낭비라 생각된다. )
2. Container 재시작하는 시간
1번과 2번을 합한 시간이 소요되게 된다.
반면에 Kubernetes를 사용한다면
1번 문제 -> Kubernetes가 계속 Container의 상태를 모니터링해 준다.
2번 문제 -> Kubernetes가 자동으로 재시작을 해준다.
시간이 단축되게 된다 :)
( Container가 많을수록 Kubernetes는 유용해진다. )
Kubernetes 기능 2 - Docker Container 버전 업데이트 유용
업데이트해야 할 Container가 생겼다고 가정해 보자.
원래라면 다음과 같은 과정을 거쳐야 할 것이다.
Container 종료 -> Container 업데이트 -> Container 시작
이렇게 된다면 Container를 재시작해야 하기 때문에 잠시동안 서비스를 이용할 수 없게 된다.
하지만 Kubernetes를 사용한다면?
Container를 종료하지 않고 버전을 업데이트할 수 있다!
이렇듯 Kubernetes는 Container를 관리해 주는 도구란 걸 알 수 있다.
물론 이보다 더 다양한 기능들이 있다!