쿠버네티스란 무엇인가?
쿠버네티스(Kubernetes )는 K8s라고도 불리며,
컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오픈 소스 시스템입니다.
즉, 쿠버네티스란 배포, 확장, 관리를 자동화해주는 시스템이다.
k8s 라고도 불리는 이유는 K와 s사이에 (ubernete)라는 글자가 8개 있어서 k8s 라고 부른다고도 한다.
아무튼, 쿠버네티스란 개발자에게 숙명인 배포와 관리등을 아주 간편하게 할 수 있도록 해주는 유용한 도구라고 생각하면 된다.
쿠버네티스가 제공하는 기능들은 아래와 같으니 참고바란다.
컨테이너란 무엇인가?
쿠버네티스는 컨테이너화된 애플리케이션을 관리한다고 했는데, 컨테이너란 무엇일까?
우리가, 애플리케이션을 실행할 때를 생각해보자.
인터넷에서 받은 Spring Boot 프로젝트를 로컬에서 실행시켜보려 했는데, Java 버전, Maven 버전, Gradle 버전등의 충돌로 실행이 되지 않았던 경험이 있을 것이다.
물론, Spring 뿐만아니라 어떠한 프로젝트라도 로컬에서 한번에 잘 돌아가는 경우는 없을 것이다. 해당 프로젝트에서 제시하는 스펙들을 맞추고서도 돌아갈지 않을지는 미지수이다.
이렇게 차이가 나는이유는, 배포하는 환경이 천차만별이기 때문이다. 누군가는 JDK17을 메인으로, 또 누군가는 JDK11을 메인으로 쓸수 도있을것이며, 이런것들이 서로가 만든 프로젝트를 서로가 실행시키는 것에 어려움을 느끼게 될 수 밖에 없는 이유일 것이다.
컨테이너는, 이러한 배포에 환경에 대한 문제점을 해결하기 위해 나온 기술이다.
컨테이너는 코드와 모든 종속성을 패키지화하여 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행될 수 있도록 하는 표준 소프트웨어 단위입니다
도커 홈페이지에서 제공하는 컨테이너란 무엇인가에 대한 내용이다.
즉, 컨테이너란 코드 뿐만아니라 그 코드를 실행시키는 모든 환경을 패키지화해서 어떠한 환경에서도 빠르고 안정적이게 실행될 수 있도록 해주는 기술이다.
이렇게 애플리케이션을 컨테이너화 하면, 어떠한 배포 환경에서도 해당 컨테이너를 실행시켜줄 수 있는 환경만 마련하면 해당 어플리케이션이 어떤 종속성을 필요하든지 문제없이 실행할 수 있게 된다.
결론..
다시말하지만, 쿠버네티스는 위에 설명한 것처럼 컨테이너화된 애플리케이션들을 아주 쉽게 배포하고 자동으로 관리해주는,
개발자를 배포지옥에서 벗어나게 해주는 아주 고마운 친구이다!
'DevOps > 쿠버네티스' 카테고리의 다른 글
04. 클러스터에 오라클 데이터베이스 생성 (0) | 2024.08.05 |
---|---|
03. 쿠버네티스 설정 (0) | 2024.08.05 |
02. 쿠버네티스 클러스터 생성 (0) | 2024.08.02 |