1장. 소개
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
Kubernetes는 컨테이너화된 애플리케이션을 배포하기 위한 오픈 소스 오케스트레이터입니다. 원래는 애플리케이션 지향 API를 통해 확장 가능하고 안정적인 시스템을 컨테이너에 배포한 10년간의 경험에서 영감을 받아 Google에서 개발했습니다.1
2014년 처음 소개된 이후 Kubernetes는 세계에서 가장 크고 가장 인기 있는 오픈 소스 프로젝트 중 하나로 성장했습니다. 거의 모든 퍼블릭 클라우드에 존재하는 Cloud 네이티브 애플리케이션을 구축하기 위한 표준 API가 되었습니다. 검증된 분산 시스템용 인프라로, Raspberry Pi 컴퓨터 클러스터부터 최신 머신으로 가득 찬 데이터센터에 이르기까지 모든 규모의 Cloud 네이티브 개발자에게 적합합니다. 안정적이고 확장 가능한 분산 시스템을 성공적으로 구축 및 배포하는 데 필요한 소프트웨어를 제공합니다.
"안정적이고 확장 가능한 분산 시스템"이라는 말이 무슨 뜻인지 궁금하실 것입니다. 점점 더 많은 서비스가 API를 통해 네트워크를 통해 제공되고 있습니다. 이러한 API는 네트워크를 통해 연결되고 네트워크 통신을 통해 동작을 조정하는 여러 시스템에서 실행되는 API를 구현하는 다양한 조각인 분산 시스템에 의해 제공되는 경우가 많습니다. 우리는 일상 생활의 모든 측면(예: 가장 가까운 병원으로 가는 길 찾기)에서 이러한 API에 점점 더 의존하고 있기 때문에 이러한 시스템은 매우 안정적이어야 합니다. 시스템의 일부가 충돌하거나 작동이 중단되더라도 실패해서는 안 됩니다. 또한 소프트웨어 롤아웃이나 기타 유지보수 이벤트 중에도 가용성을 유지해야 합니다. 마지막으로, 점점 더 많은 사람들이 온라인에 접속하여 이러한 서비스를 사용하고 있기 때문에 서비스를 구현하는 분산 시스템을 급격하게 재설계하지 않고도 사용량 증가에 따라 용량을 늘릴 수 있도록확장성이 뛰어나야 합니다. 대부분의 경우 이는 애플리케이션의 효율성을 극대화할 수 있도록 용량을 자동으로 늘리거나 줄이는 것을 의미하기도 합니다.
이 책을 손에 쥐게 된 시기와 이유에 따라 컨테이너, 분산 시스템, Kubernetes에 대한 경험의 정도는 다양할 수 있습니다. 퍼블릭 클라우드 인프라, 프라이빗 데이터센터 또는 일부 하이브리드 환경에서 애플리케이션을 구축할 계획일 수도 있습니다. 경험에 관계없이 이 책을 통해 Kubernetes를 최대한 활용할 수 있을 것입니다.
사람들이 컨테이너와 Kubernetes와 같은 컨테이너 API를 사용하는 이유는 여러 가지가 있지만, 우리는 모두 이러한 이점 중 하나에서 찾을 수 있다고 생각합니다:
-
개발 속도
-
확장(소프트웨어 및 팀 모두)
-
인프라 추상화
-
효율성
-
Cloud 네이티브 에코시스템
다음 섹션에서는 이러한 각 기능을 제공하는 데 Kubernetes가 어떻게 도움이 되는지 설명합니다.
속도
오늘날 거의 모든 소프트웨어 개발에서 속도는 ...