> 백엔드 개발 > Golang > Go에서 KongPlugins와 같은 사용자 정의 Kubernetes 리소스를 어떻게 생성하고 검색합니까?

Go에서 KongPlugins와 같은 사용자 정의 Kubernetes 리소스를 어떻게 생성하고 검색합니까?

Patricia Arquette
풀어 주다: 2024-10-29 08:37:30
원래의
806명이 탐색했습니다.

How do you create and retrieve custom Kubernetes resources like KongPlugins in Go?

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

소개

코드에서 사용자 정의 Kubernetes 리소스를 관리하려면 다음이 필요합니다. 생성 및 검색을 위한 특정 메커니즘을 이해합니다. 이 문서에서는 Kong in Go용 사용자 정의 리소스를 생성하고 가져오는 방법을 설명하며 비표준 리소스 유형으로 작업할 때 직면하는 일반적인 문제를 해결합니다.

사용자 정의 리소스 생성

KongPlugin과 같은 사용자 정의 리소스를 생성하려면 다음 코드를 사용할 수 있습니다.

<code class="go">body, err := json.Marshal(&KongPlugin{
    TypeMeta: metav1.TypeMeta{
        APIVersion: "configuration.konghq.com/v1",
        Kind:       "KongPlugin",
    },
    ObjectMeta: metav1.ObjectMeta{
        Name:      "add-response-header",
        Namespace: "<namespace>",
    },
    Config: KongPluginConfig{
        Add: KongPluginConfigAdd{
            Headers: []string{"demo: injected-by-kong"},
        },
    },
    Plugin: "response-transformer",
})

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

여기에서 KongPlugin 데이터가 마샬링되어 요청 본문으로 전송됩니다. AbsPath 함수는 사용자 정의 리소스의 API 엔드포인트에 대한 경로를 제공합니다.

사용자 정의 리소스 검색

사용자 정의 리소스를 검색하려면 다음 코드를 사용할 수 있습니다.

<code class="go">data, err := clientset.RESTClient().
    Get().
    AbsPath("/apis/configuration.konghq.com/v1/namespaces/<namespace>/kongplugins/kongplugin-sample").
    DoRaw(context.TODO())</code>
로그인 후 복사

AbsPath 함수는 사용자 정의 리소스의 API 엔드포인트에 대한 경로를 다시 제공합니다. 반환된 데이터에는 리소스의 원시 데이터가 포함됩니다.

오류 문제 해결

"서버가 요청한 리소스를 찾을 수 없습니다( get KongPlugin)", 다음 단계가 수행되었는지 확인하세요.

  • 사용자 정의 리소스 정의(CRD)가 올바르게 설치되었습니다.
  • 애플리케이션에서 사용하는 서비스 계정에는 다음에 필요한 권한이 있습니다. 리소스를 확인하세요.
  • 올바른 네임스페이스와 리소스 이름으로 요청이 이루어졌습니다.

위 내용은 Go에서 KongPlugins와 같은 사용자 정의 Kubernetes 리소스를 어떻게 생성하고 검색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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