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 中国語 Web サイトの他の関連記事を参照してください。