Menggunakan Konteks kubectl dalam Kubernetes Client-Go
Untuk mengkonfigurasi klien-go Kubernetes dengan konteks kubeconfig tersuai, anda boleh memanfaatkan yang disediakan fungsi pembantu. Begini cara anda boleh mencapainya:
<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>
Dengan menggunakan NewNonInteractiveDeferredLoadingClientConfig dengan penggantian konteks tersuai, anda boleh menentukan konteks kubeconfig yang diingini dan mengkonfigurasi klien-klien-go dengan betul untuk menyambung ke gugusan Kubernetes yang sesuai.
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Kubernetes Client-Go dengan Konteks Kubeconfig Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!