Interrogation de l'utilisation des ressources des pods et des nœuds dans Kubernetes avec Go
Le client Kubernetes Go fournit de nombreuses méthodes de gestion des ressources, mais il lui manque des méthodes directes prise en charge de la récupération des données d'utilisation des ressources. Pour obtenir ces informations, vous pouvez exploiter le package de métriques Kubernetes.
Récupération de l'utilisation des ressources avec le package de métriques
Le package de métriques propose un client qui vous permet d'accéder aux ressources données d'utilisation. Voici un exemple simplifié de l'initialisation du client :
<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() { // Assuming using in-cluster configuration config, err := clientcmd.BuildConfigFromFlags("", "") if err != nil { panic(err) } mc, err := metrics.NewForConfig(config) if err != nil { panic(err) } // Available methods for resource usage _ = 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>
Ces méthodes renvoient des structures appropriées contenant les informations d'utilisation des ressources pour les nœuds et les pods.
Informations supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!