Skip to Content
Kubernetes 오퍼레이터
book

Kubernetes 오퍼레이터

by Jason Dobies, Joshua Wood
May 2025
Beginner to intermediate
156 pages
2h 13m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Kubernetes 오퍼레이터

7장. 연산자 SDK를 사용한 Go의 연산자

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

헬름과 앤서블 오퍼레이터는 빠르고 쉽게 만들 수 있지만, 궁극적으로 그 기능은 이러한 기반 기술에 의해 제한됩니다. 애플리케이션 또는 클러스터 전체의 특정 변경 사항에 동적으로 반응하는 것과 같은 고급 사용 사례에는 보다 유연한 솔루션이 필요합니다.

운영자 SDK는 개발자가 외부 라이브러리 에코시스템을 포함한 Go 프로그래밍 언어를 운영자에서 쉽게 사용할 수 있도록 함으로써 이러한 유연성을 제공합니다.

헬름이나 앤서블 오퍼레이터보다 프로세스가 약간 더 복잡하므로, 높은 수준의 단계에 대한 요약부터 시작하는 것이 좋습니다:

  1. Kubernetes에 연결하고 컨트롤러로 Operator를 실행할 수 있도록 필요한 코드를 생성하세요.

  2. 애플리케이션의 기본 비즈니스 로직을 모델링하고 사용자가 상호 작용할 수 있는 API를 제공하기 위해 하나 이상의 CRD를 만듭니다.

  3. 리소스의 수명 주기를 처리할 각 CRD에 대한 컨트롤러를 만듭니다.

  4. 오퍼레이터 이미지를 빌드하고 함께 제공되는 Kubernetes 매니페스트를 생성하여 오퍼레이터와 해당 RBAC 구성 요소(서비스 어카운트, 역할 등)를 배포하세요.

이러한 모든 부분을 수동으로 작성할 수도 있지만, 오퍼레이터 SDK는 대부분의 지원 코드 생성을 자동화하는 명령을 제공하므로 오퍼레이터의 실제 비즈니스 로직을 구현하는 데 집중할 수 있습니다.

이 장에서는 오퍼레이터 SDK를 사용하여 Go에서 오퍼레이터를 구현하기 위한 프로젝트 골격을 구축합니다(SDK 설치에 대한 지침은 4장 참조). 사용자 정의 애플리케이션 로직으로 편집해야 하는 파일을 살펴보고 연산자 개발을 위한 몇 가지 일반적인 관행에 대해 논의합니다. 오퍼레이터가 준비되면 테스트와 디버깅을 위해 개발 모드에서 실행해 보겠습니다.

연산자 초기화하기

Operator는 Go로 작성되었으므로 프로젝트 스켈레톤은 언어 규칙을 준수해야 합니다. 특히 오퍼레이터 코드는 $GOPATH 에 위치해야 합니다. 자세한 내용은 GOPATH 문서를 참조하세요.

SDK의 new 명령은 오퍼레이터에 필요한 기본 파일을 생성합니다. 특정 오퍼레이터 유형을 지정하지 않으면 이 명령은 Go 기반 오퍼레이터 프로젝트를 생성합니다:

$ OPERATOR_NAME=visitors-operator
$ operator-sdk new $OPERATOR_NAME
INFO[0000] Creating new Go operator 'visitors-operator'. INFO[0000] Created go.mod INFO[0000] Created tools.go INFO[0000] Created cmd/manager/main.go INFO[0000] Created build/Dockerfile INFO[0000] Created build/bin/entrypoint INFO[0000] Created build/bin/user_setup ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Ansible: 시작부터 끝까지, 3판

Ansible: 시작부터 끝까지, 3판

Bas Meijer, Lorin Hochstein, René Moser
제로 트러스트 네트워크

제로 트러스트 네트워크

Evan Gilman, Doug Barth

Publisher Resources

ISBN: 9798341656284