Kubernetes Client-Go에서 kubectl 컨텍스트 사용
사용자 정의 kubeconfig 컨텍스트로 Kubernetes client-go를 구성하려면 제공된 도우미 기능. 이를 달성하는 방법은 다음과 같습니다.
<code class="go">import ( "fmt" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" ) // GetKubeClientForContext creates a Kubernetes config and client using the specified kubeconfig context. func GetKubeClientForContext(context string) (*rest.Config, kubernetes.Interface, error) { // Create a Kubernetes client config using the specified context. config, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( &clientcmd.ClientConfigLoadingRules{ExplicitPath: kubeconfig}, &clientcmd.ConfigOverrides{CurrentContext: context}, ).ClientConfig() if err != nil { return nil, nil, fmt.Errorf("could not create Kubernetes config for context %q: %s", context, err) } // Create a new Kubernetes client using the config. client, err := kubernetes.NewForConfig(config) if err != nil { return nil, nil, fmt.Errorf("could not create Kubernetes client for context %q: %s", context, err) } // Return the config and the client. return config, client, nil }</code>
사용자 정의 컨텍스트 재정의와 함께 NewNonInteractiveDeferredLoadingClientConfig를 사용하면 원하는 kubeconfig 컨텍스트를 지정하고 적절한 Kubernetes 클러스터에 연결하도록 client-go 클라이언트를 올바르게 구성할 수 있습니다.
위 내용은 사용자 정의 Kubeconfig 컨텍스트로 Kubernetes Client-Go를 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!