Go クライアントを使用して Kubernetes のポッドとノードの現在のリソース使用量を取得する
Kubernetes では、効率的なリソース管理のためにリソース使用率の監視が重要です。 Kubernetes Go クライアントは包括的なメソッドのセットを提供しますが、ポッドとノードの現在のリソース使用量を取得するための直接サポートがありません。
メトリクス パッケージの利用
この制限に対処するために、Kubernetes メトリクス パッケージは、メトリクス オブジェクトを簡単に取得できるようにする事前生成されたクライアントを提供します。ポッドおよびノードからのメトリクスは、メトリクス サーバー経由で収集され、公開されます。
メトリクス クライアントの開始
メトリクス クライアントを作成するには、構成が必要です。これは、BuildConfigFromFlags 関数を使用して、マスター URL と kubeconfig ファイルを渡して (またはクラスター内構成を想定して) 生成できます。
クライアント コードの例
実装例は次のとおりです。メトリクス クライアントの:
<code class="go">import ( "k8s.io/client-go/tools/clientcmd" metrics "k8s.io/metrics/pkg/client/clientset/versioned" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func main() { config, err := clientcmd.BuildConfigFromFlags("", "") if err != nil { panic(err) } mc, err := metrics.NewForConfig(config) if err != nil { panic(err) } // Get current resource usage for metrics types _ = mc.MetricsV1beta1().NodeMetricses().Get("your node name", metav1.GetOptions{}) _ = mc.MetricsV1beta1().NodeMetricses().List(metav1.ListOptions{}) _ = mc.MetricsV1beta1().PodMetricses(metav1.NamespaceAll).List(metav1.ListOptions{}) _ = mc.MetricsV1beta1().PodMetricses(metav1.NamespaceAll).Get("your pod name", metav1.GetOptions{}) }</code>
メトリクス クライアントの各メソッドは、メトリクス情報を含む適切な構造を返します。これらの構造を検査して、ポッドとノードの現在のリソース使用状況を取得できます。
以上がGo クライアントを使用して Kubernetes のポッドとノードの現在のリソース使用状況を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。