Kubectl 플러그인 관리자인 Krew를 시작하는 방법

Kubectl 플러그인 관리자인 Krew를 시작하는 방법

Krew는 공식 Kubernetes 명령줄 인터페이스인 Kubectl의 패키지 관리자입니다. Krew를 사용하면 추가 기능으로 명령줄 인터페이스를 확장하는 Kubectl 플러그인을 찾고 설치하고 업데이트할 수 있습니다.

Kubectl 플러그인 엔진 은 여러 플러그인 설치 방법을 지원합니다. 가장 쉬운 방법은 플러그인을 PATH. 이것은 수동 프로세스이며 새 릴리스가 게시될 때 플러그인을 업데이트하는 기능을 제공하지 않습니다.

Krew는 Kubectl 플러그인 생태계를 위한 일반적인 패키지 관리 기능을 제공합니다. 알려진 패키지의 공개 색인을 유지 관리하고 타사 색인도 지원합니다. 후자를 사용하면 플러그인을 조직이나 팀 내에서 비공개로 게시할 수 있습니다.

크루 설치

Krew는 Kubernetes 프로젝트의 일부인 오픈 소스 도구 입니다. 그러나 Kubectl과 함께 번들로 제공되지 않습니다. Krew를 시작하려면 최신 버전을 수동으로 다운로드하여 설치해야 합니다. Krew의 현재 배포판은 Kubectl 버전 1.12 이상에서 작동합니다.

프로젝트의 GitHub 릴리스 페이지 에서 다운로드할 수 있습니다 . 배포판의 tarball에는 Krew 바이너리가 포함되어 있습니다. 설치 스크립트를 실행하여 시스템에 Krew 추가를 완료하십시오.

$. /krew-linux_amd64 install krew

시스템에 맞는 올바른 Krew 배포판을 자동으로 다운로드하고 설치하는 전체 스크립트는 문서에서 사용할 수 있습니다 .

PATH그런 다음 Krew 디렉터리 를 포함하도록 디렉터리를 업데이트해야 합니다 . 일반적으로 위치하는 bin내부 에 있습니다 . 설치한 Kubectl 플러그인의 실행 파일은 하위 디렉토리에 저장됩니다.$KREW_ROOT$HOME/.krewbin

$ export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

이제 다음 kubectl krew명령으로 Krew를 사용할 수 있습니다.

~$ kubectl krew

krew는 kubectl 플러그인 관리자입니다.

kubectl을 통해 krew를 호출할 수 있습니다. “kubectl krew [command]…”

용법:

kubectl krew [명령]

...

플러그인 인덱스 업데이트

Krew 플러그인 색인에는 현재 설치 가능한 모든 플러그인이 포함되어 있습니다. .NET과 같은 OS 수준 패키지 관리자에서 사용하는 패키지 목록과 유사하게 작동합니다 apt.

Krew 설치가 사용 가능한 모든 플러그인의 최신 버전에 액세스할 수 있도록 인덱스를 주기적으로 업데이트하십시오.

$ kubectl krew update

Updated the local copy of plugin index.

플러그인 설치

install은 Kubectl에 새로운 플러그인을 추가하고 있습니다. Krew 색인에 나열된 모든 플러그인을 설치할 수 있습니다. Krew는 플러그인을 로드하고 Kubectl에 등록합니다.

$ kubectl krew install ctx

플러그인 인덱스의 로컬 복사본을 업데이트했습니다.

플러그인 설치: ctx

설치된 플러그인: ctx

...

Krew는 설치 전에 플러그인 색인을 자동으로 업데이트하여 최신 버전의 새 플러그인을 받을 수 있도록 합니다. 설치가 완료되면 명령 출력 하단에 플러그인 작성자의 기본 정보가 표시됩니다.

kubectl이제 CLI 를 통해 플러그인 명령을 사용할 수 있습니다 .

$ kubectl ctx my-context

새 플러그인 릴리스로 업데이트

Krew의 가장 큰 장점 중 하나는 내장 플러그인 업데이트 시스템입니다. 명령을 실행 upgrade하면 패키지 인덱스가 업데이트되고 설치된 모든 플러그인이 최신 버전으로 업데이트됩니다. 이 프로세스는 완전히 자동화되어 있습니다.

$ kubectl krew upgrade

플러그인 인덱스의 로컬 복사본을 업데이트했습니다.

...

upgrade다음 명령 에 이름을 전달하여 플러그인을 개별적으로 업데이트할 수 있습니다 .

$ kubectl krew upgrade ctx

플러그인을 제거 uninstall하려면 다음 명령에 플러그인 이름을 포함하세요.

$ kubectl krew uninstall ctx

Krew는 플러그인이 시스템에서 완전히 제거되었는지 확인합니다.

이 명령 list은 모든 플러그인과 설치된 버전을 표시합니다.

~$ kubectl krew list

플러그인 버전

ctx v0.9.4

크루 v0.4.3

ns v0.9.4

Krew 자체는 플러그인 목록에 나타나며 업데이트 시스템에서 지원됩니다. 플러그인이 업데이트되기 전에 최신 버전의 Krew를 실행 upgrade하거나 다운로드하여 설치하세요.upgrade krew

플러그인 검색

이 명령 을 사용하면 터미널에서 Krew 패키지의 색인search 을 볼 수 있습니다 .

~$ kubectl krew search cert-manager

이름 설명 설치됨

cert-manager Manage cert-manager resources inside your cluster no

관심 있는 플러그인을 찾으면 info명령을 실행하여 자세히 알아보세요. 플러그인의 현재 버전 번호, 해당 웹사이트에 대한 링크, 작성자가 제공한 간단한 설명이 표시됩니다.

~$ kubectl krew info cert-manager

이름: 인증서 관리자

색인: 기본값

URI: https://github.com/jetstack/cert-manager/releases/download/v1.7.0/kubectl-cert_manager-linux-amd64.tar.gz

SHA256: 73618617b9ec42994c3ea77bbc8be743e382501d42ad2ee7aeca0d32c15655c0

버전: v1.7.0

홈페이지: https://github.com/jetstack/cert-manager

설명:

Kubernetes 애드온인 cert-manger와 함께 제공되는 공식 플러그인

TLS 인증서의 관리 및 발급을 자동화합니다. 허용

cert-manager 리소스와의 직접적인 상호 작용(예: 수동 갱신)

Certificate resources.

사용자 정의 색인 사용

Krew는 자체 소스에서 플러그인을 쉽게 설치할 수 있도록 사용자 정의 색인을 유지 관리합니다. plugins인덱스는 YAML 매니페스트가 포함된 폴더 가 있는 Git 리포지토리입니다 . 이러한 파일은 설치에 사용할 수 있는 플러그인을 정의합니다. 기본 Krew 인덱스 구조 는 자신을 설정할 때 유용한 모델입니다.

인덱스를 추가하려면 해당 저장소의 URL 을 다음 index add명령에 전달합니다.

$ kubectl krew index add custom-index https://example.com/krew/index.git

색인에서 플러그인을 참조하려면 선택한 색인 이름을 플러그인 이름에 접두어로 붙입니다.

$ kubectl krew install custom-index/example-plugin

접두사를 지정하지 않으면 Krew default/가 대신 접두사를 사용합니다. 이것은 항상 Krew의 내장 플러그인 인덱스를 참조합니다. 접두사가 붙지 않은 플러그인 이름을 고유한 색인으로 지정 KREW_DEFAULT_INDEX_URI하려면 환경 변수를 저장소의 URL로 설정하십시오.

$ export KREW_DEFAULT_INDEX_URI="https://example.com/krew/index.git"

# 자동으로 커스텀 인덱스로 해결

$ kubectl krew install example-plugin

나만의 플러그인 게시

Krew를 통해 사용자에게 자신의 플러그인을 배포 하는 것은 매우 쉽습니다 . 먼저 Kubectl 플러그인의 내용을 파일 .tar.gz또는 . .zip이것을 공개 위치에 업로드하십시오. 프로젝트 웹사이트 또는 GitHub 릴리스 페이지가 좋은 선택입니다.

그런 다음 Krew 플러그인 매니페스트를 작성합니다 . 이것은 이름, 설명, 현재 버전과 같은 플러그인에 대한 기본 정보를 제공하는 간단한 YAML 파일입니다. 매니페스트에는 플러그인 아카이브의 공개 URL도 포함됩니다. 사용자가 플러그인을 설치하면 Krew는 매니페스트에 지정된 URL에서 아카이브를 다운로드합니다.

매니페스트를 작성했으면 Git 리포지토리에 커밋할 수 있습니다. 이 저장소를 사용자 정의 Krew 인덱스로 추가하여 Kubectl 설치에 플러그인을 추가하십시오. Krew의 공개 색인 에 대한 제출은 카탈로그 에 매니페스트를 추가하는 해당 저장소에 대한 pull 요청을 생성하여 수락됩니다 .plugins

결론

Krew를 사용하면 Kubernetes 플러그인을 쉽게 검색, 설치 및 관리할 수 있습니다. 이것은 Kubectl 플러그인을 사용하는 사람들에게 편리한 도구입니다. Krew는 내부 도구를 위한 맞춤형 개인 색인을 포함하여 완전한 패키지 관리 경험을 제공합니다.

공개 색인에는 Kubernetes 관리의 모든 측면을 다루는 180개 이상의 플러그인 이 포함되어 있습니다. 몇 가지 인기 있는 옵션에는 클러스터의 Cert-Manager 개체와 함께 작동하는 cert-manager , 간소화된 로그 스트리밍을 위한 tail , 개체를 정적으로 분석하기 위한 점수 , 컨텍스트와 네임스페이스 간을 더 쉽게 전환할 수 있도록 하는 ctx 및 ns 가 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다