> 백엔드 개발 > Golang > Go 클라이언트 라이브러리를 사용하여 사용자 정의 Kubernetes 리소스를 생성하고 검색하는 방법은 무엇입니까?

Go 클라이언트 라이브러리를 사용하여 사용자 정의 Kubernetes 리소스를 생성하고 검색하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-31 22:25:02
원래의
803명이 탐색했습니다.

How to Create and Retrieve Custom Kubernetes Resources using the Go Client Library?

Go에서 사용자 정의 Kubernetes 리소스 생성 및 검색

Kubernetes에서는 플랫폼의 기능을 확장하는 사용자 정의 리소스를 정의하고 관리할 수 있습니다. Go 클라이언트 라이브러리를 사용하여 프로그래밍 방식으로 사용자 정의 리소스를 생성하고 가져올 수 있습니다.

사용자 정의 리소스 생성

KongPlugin과 같은 사용자 정의 리소스를 생성하려면 다음의 RESTClient를 사용해야 합니다. Kubernetes 클라이언트세트. 방법은 다음과 같습니다.

<code class="go">// Create a KongPlugin custom resource.
kongPlugin := &KongPlugin{
    TypeMeta: metav1.TypeMeta{
        APIVersion: "configuration.konghq.com/v1",
        Kind:       "KongPlugin",
    },
    ObjectMeta: metav1.ObjectMeta{
        Name: "add-response-header",
    },
    Config: KongPluginConfig{
        Add: KongPluginConfigAdd{
            Headers: []string{"demo: injected-by-kong"},
        },
    },
    Plugin: "response-transformer",
}

body, err := json.Marshal(kongPlugin)
if err != nil {
    panic(err)
}

data, err := clientset.RESTClient().
    Post().
    AbsPath("/apis/configuration.konghq.com/v1/namespaces/" + namespace + "/kongplugins").
    Body(body).
    DoRaw(context.TODO())</code>
로그인 후 복사

사용자 지정 리소스 검색

사용자 지정 리소스를 검색하려면 RESTClient의 Get() 메서드를 사용할 수 있습니다.

<code class="go">// Get the KongPlugin custom resource.
data, err := clientset.RESTClient().
    Get().
    AbsPath("/apis/configuration.konghq.com/v1/namespaces/" + namespace + "/kongplugins/add-response-header").
    DoRaw(context.TODO())</code>
로그인 후 복사

AbsPath() 참고:

  • AbsPath() 메서드는 Kubernetes 리소스에 대한 전체 절대 경로를 사용합니다.
  • 리소스의 절대 경로를 찾으려면 kubectl get을 사용합니다. <리소스 유형> <리소스 이름> -o=jsonpath='{$.metadata.selfLink}'.
  • 또는 API 그룹, 버전, 네임스페이스 및 리소스 유형을 포함하여 경로를 수동으로 지정할 수 있습니다.

위 내용은 Go 클라이언트 라이브러리를 사용하여 사용자 정의 Kubernetes 리소스를 생성하고 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿