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

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

Patricia Arquette
Patricia Arquette원래의
2024-10-31 22:25:02694검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.