쿠버네티스?
쿠버네티스를 이해하려면 먼저 컨테이너를 이해해야 합니다. 컨테이너는 어디에서나 실행할 수 있는 소형의 독립 운영 체제입니다. 이는 공용 리포지토리(repository) 또는 개인 리포지토리에서 호스팅 되는 일련의 명령에 따라 몇 초 만에 생성이 가능합니다.
컨테이너는 애플리케이션을 실행할 수 있으며 애플리케이션의 시스템 수준 요구 사항에 맞게 특별히 설계되어, 실행 시 사용할 JVM(Java Virtual Machine) 버전을 정의합니다. 간단히 말해, 컨테이너를 사용하면 로컬 개발 환경이 프로덕션 환경과 정확히 동일하게 유지됩니다.
컨테이너는 작고 가볍습니다. 즉, 애플리케이션을 로딩하기 위해서는 VM환경보다 더 많은 컨테이너가 필요합니다. 너무 복잡한가요?
다음 쿠버네티스 클러스터 이미지를 참조 바랍니다.
쿠버네티스는 노드에서 여러 컨테이너를 관리하고 예약할 수 있습니다. 이는 선언형 프로그래밍 형식으로, 쿠버네티스 컨트롤 플레인(Kubernetes Control Plane, 이전 : 쿠버네티스 마스터 "Kubernetes Master")을 통해 특정 구성을 지정하면 쿠버네티스가 그 상태를 자동으로 유지합니다. 자세한 내용은 쿠버네티스 웹 사이트에서 “What is Kubernetes”를 참고 바랍니다.
쿠버네티스는 AWS, GKE, Microsoft Azure와 같은 여러 클라우드 플랫폼에서 실행 가능하지만 하드 드라이브 또는 노트북 VM에서도 실행할 수 있습니다.
쿠버네티스 시작하기
쿠버네티스를 배우려면 어디서부터 시작해야 할까요? 요즘에는 쿠버네티스에 대한 튜토리얼(tutorials on Kubernetes)이 많이 있습니다. 그 중 상당수가 작년에 새로 나왔습니다.
쿠버네티스 기초(Kubernetes Basics) 튜토리얼로 먼저 시작하세요. 프로그램의 유료 설치 없이 쿠버네티스 경험을 쌓을 수 있는 좋은 방법입니다. 다음 단계는 Hello Minikube 튜토리얼입니다. 쿠버네티스 기초(Kubernetes Basics) 튜토리얼에서 배운 내용을 개인 컴퓨터에서 복습할 수 있고 간단한 어플리케이션을 배포할 수 있습니다. MacOS와 Windows 모두 지원합니다. 이제부터 조금 까다로운 단계로 들어가 보겠습니다.
쿠버네티스 더 알아보기
쿠버네티스는 신기술이기 때문에 새로운 개념을 많이 접하게 될 것입니다. 그 또한 흥미롭고 재미있는 경험이 될 수 있습니다. 인내심을 가지고, 쿠버네티스를 즐겨보세요..
Kubernetes 웹사이트의 Concepts섹션에서 Hello Minikube 튜토리얼에서 사용하는 각 컴포넌트와 툴에 대한 설명과 기본 예시를 찾을 수 있습니다. 예를 들면, Kubernetes Pods에 대한 자세한 설명을 볼 수 있습니다. 모르는 용어가 있다면 찾아보세요. 어휘 목록을 만들면 잊어버릴 때마다 빠르게 찾아볼 수 있어 큰 도움이 됩니다. 다른 사람들과 공부하고 공유하는 데에도 유용합니다.
edX course on Kubernetes 에서 지금까지 공부한 내용에 대해 다음단계의 교육을 받을 수 있습니다. 문제가 있거나 질문이 있는 경우 Kubernetes website에서 트러블슈팅(Troubleshooting) 섹션을 참조 하시기 바랍니다.
다음으로 유용한 커뮤니티 링크를 소개해 드리겠습니다.
커뮤니티 활용하기
쿠버네티스는 오픈소스라는 큰 장점이 있습니다. 즉, 다양한 배경을 지닌 전 세계 사람들이 쿠버네티스에서 다양한 애플리케이션을 배포하는 데 도움을 줄 수 있습니다. 또한 어려움이 생기면 비슷한 상황에 처한 다른 사람들에게 도움을 받을 수 있습니다.
쿠버네티스는 오픈 소스 프로젝트이기 때문에 여러분의 질문에 도움을 줄 수 있는 유용한 커뮤니티를 많이 찾을 수 있습니다. 다른 쿠버네티스 사용자들과 소통하고 정보를 공유하는 방법을 소개해 드리겠습니다.
- Kubernetes Meetup에 가입하세요. 주변 대형 테크(tech) 센터에서 Meetup 그룹을 찾을 수 있습니다.
- 메일링 리스트에 가입하여 커뮤니티에서 소식을 받으세요.
- Slack 커뮤니티에 가입하고 # kubernetes-novice 및 # kubernetes-users 채널을 둘러보세요. 많은 도움과 답변을 빠르게 받을 수 있습니다.
- Stack Overflow에서 Kubernetes로 태그하여 질문을 하거나 Kubernetes Office Hours라이브 스트림을 통해 질문에 대한 답변을 들을 수 있습니다.
- 업스트림 프로젝트에 참여하세요. 초보자를 위한 설명서 작성은 어려운 일입니다. 제 경험으로는, 새롭게 참여한 사람들이 자신이 직면한 문제와 다른 사람들의 문제를 해결하려는 노력은 언제나 도움이 됩니다. 이는 쿠버네티스를 배우고 커뮤니티를 알아나갈 수 있는 가장 효과적인 방법입니다.
쿠버네티스 프로젝트에 참여하는 사람들은 대부분 바쁘고 다른 시간대에 있습니다. 도움을 여러 번 요청해야 할 수도 있고 질문에 답변할 적임자를 찾을 때까지 인내심을 필요로 할 수도 있지만, 많은 사람들이 도움을 줄 수 있도록 계속 질문해주세요.
▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
Guinevere Saenger는 2016년 프로 피아니스트에서 기술 분야로 경력을 전향하였습니다. 이를 위해, 경쟁이 치열하기로 유명한 시애틀 에이다 개발자 아카데미(Ada Developers Academy)에서 1 년 과정으로 구성된 무료 부트 캠프 스타일 소프트웨어 개발 교육 프로그램 (중년 여성과 성소수자를 대상으로 하여 기술직으로 전향을 돕는 과정)에 참여하였습니다. 교육 과정으로 기네비어는 삼성 SDS클라우드 네이티브 컴퓨팅 팀 (Cloud Native Computing Team) 에서 인턴으로 일했으며 2017 년 7 월 졸업 후 삼성 SDS에서 소프트웨어 엔지니어로 전임하여 크라켄(Kraken)과 같은 쿠버네티스(Kubernetes) 배포 툴을 개발하는 업무를 맡았습니다. 쿠버네티스 오픈 소스 커뮤니티에서 적극적으로 활동하고 있으며 큐브콘(KubeCon) 에서 쿠버네티스를 주제로 연설을 하였고 새로운 쿠버네티스 컨트리뷰터 가이드(Kubernetes Contributor Guide)를 만드는 데 큰 기여를 했습니다.