Kubernetes client-go 内での kubectl コンテキストの使用
Kubernetes client-go を利用する場合、適切なコンテキストを使用してクライアントを構成することが重要です。目的の Kubernetes クラスターにアクセスします。デフォルトでは、クライアントは接続を確立するための正しいエンドポイント情報を持っていない可能性があります。
オプション 1: clientcmd.BuildConfigFromFlags を使用する
従来、推奨されるアプローチは次のとおりです。 clientcmd.BuildConfigFromFlags。ただし、このメソッドには、使用するコンテキストを明示的に指定する方法はありません。
オプション 2: clientcmd.NewNonInteractiveDeferredLoadingClientConfig を使用する
コンテキストの選択を制御するにはの場合は、clientcmd.NewNonInteractiveDeferredLoadingClientConfig の使用を検討してください。この方法では、以下に示すように、目的のコンテキストを指定できます。
<code class="go">configLoadingRules := &clientcmd.ClientConfigLoadingRules{ExplicitPath: kubeconfig} configOverrides := &clientcmd.ConfigOverrides{CurrentContext: "dev-cluster"} kconf, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(configLoadingRules, configOverrides).ClientConfig()</code>
このアプローチを利用すると、特定のコンテキストを使用するように Kubernetes client-go を構成し、クライアントが確実に接続できるようにすることができます。正しいクラスターと API サーバー。
以上がClient-go で特定の Kubernetes コンテキストを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。