Verwenden von kubectl-Kontexten in Kubernetes Client-Go
Um den Kubernetes Client-Go mit einem benutzerdefinierten kubeconfig-Kontext zu konfigurieren, können Sie den bereitgestellten nutzen Hilfsfunktionen. So können Sie dies erreichen:
<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>
Durch die Verwendung von NewNonInteractiveDeferredLoadingClientConfig mit benutzerdefinierten Kontextüberschreibungen können Sie den gewünschten kubeconfig-Kontext angeben und den Client-Go-Client korrekt konfigurieren, um eine Verbindung zum entsprechenden Kubernetes-Cluster herzustellen.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich Kubernetes Client-Go mit einem benutzerdefinierten Kubeconfig-Kontext?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!