17장. Kubernetes 확장하기
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
애플리케이션이 클러스터 내에서 오케스트레이션되면, Kubernetes 클러스터에서 API 객체로 표현되고 배포될 수 있는 유용한 도구와 유틸리티가 무수히 많다는 것은 처음부터 분명했습니다( ). 문제는 이렇게 폭발적으로 증가하는 개체와 사용 사례를 API가 한계 없이 확장되지 않고 수용하는 방법이었습니다.
확장된 사용 사례와 API 스프롤 사이의 이러한 긴장을 해결하기 위해, Kubernetes API를 확장 가능하게 만드는 데 상당한 노력을 기울였습니다. 이러한 확장성은 클러스터 운영자가 자신의 필요에 맞는 추가 구성 요소로 클러스터를 사용자 정의할 수 있다는 것을 의미했습니다. 이러한 확장성 덕분에 사람들은 클러스터를 직접 보강하고, 커뮤니티에서 개발한 클러스터 애드온을 사용하고, 클러스터 플러그인 에코시스템에서 번들로 판매되는 확장 기능을 개발할 수도 있습니다. 확장성은 또한 운영자 패턴과 같은 완전히 새로운 시스템 관리 패턴을 탄생시켰습니다.
자체 확장을 구축하든 에코시스템의 오퍼레이터를 사용하든 관계없이, Kubernetes API 서버가 확장되는 방식과 확장을 빌드하고 제공하는 방법을 이해하는 것은 Kubernetes와 그 에코시스템의 완전한 힘을 활용하는 핵심 요소입니다.점점 더 많은 고급 도구와 플랫폼이 이러한 확장성 메커니즘을 사용하여 Kubernetes 위에 구축됨에 따라, 이러한 작동 방식에 대한 실무 지식은 최신 Kubernetes 클러스터에서 애플리케이션 구축 방법을 이해하는 데 필수적입니다.
Kubernetes 확장이 의미하는 것
클러스터 관리자가 클러스터에 서비스와 기능을 추가하는 데 사용할 수 있는 풍부한 플러그인 에코시스템이 있습니다. 클러스터 관리자가 클러스터에 서비스와 기능을 추가하는 데 사용할 수 있는 풍부한 플러그인 에코시스템이 있습니다. 클러스터 확장은 매우 높은 권한이 필요한 작업이라는 점에 유의할 필요가 있습니다. 클러스터를 확장하려면 클러스터 관리자 권한이 필요하기 때문에 임의의 사용자나 임의의 코드로 확장할 수 있는 기능이 아닙니다. 클러스터 관리자라도 타사 도구를 설치할 때는 주의해서 신중하게 사용해야 합니다. 어드미션 컨트롤러와 같은 일부 확장 프로그램은 클러스터에서 생성되는 모든 개체를 보는 데 사용될 수 있으며, 시크릿을 훔치거나 악성 코드를 실행하는 벡터로 쉽게 사용될 수 있습니다. 또한 클러스터를 확장하면 기본 Kubernetes와 달라집니다. 여러 클러스터에서 실행하는 경우, 클러스터 전체에서 경험의 일관성을 유지하기 위한 도구를 구축하는 것이 매우 중요하며, 여기에는 설치된 확장도 포함됩니다.
확장성 포인트
커스텀리소스정의부터 컨테이너 네트워크 인터페이스 플러그인까지, Kubernetes를 확장하는 방법에는 여러 가지가 있다. 이 장에서는 API 요청에 새로운 리소스 유형 또는 어드미션 컨트롤러를 추가하여 ...