Go를 사용하여 Kubernetes에서 Pod 및 노드의 리소스 사용량 쿼리
Kubernetes Go 클라이언트는 리소스 관리를 위한 다양한 방법을 제공하지만 직접적인 방법이 부족합니다. 리소스 사용량 데이터 가져오기 지원. 이 정보를 얻으려면 Kubernetes 메트릭 패키지를 활용할 수 있습니다.
메트릭 패키지로 리소스 사용량 가져오기
메트릭 패키지는 리소스에 액세스할 수 있는 클라이언트를 제공합니다. 사용 데이터. 다음은 클라이언트 초기화의 간단한 예입니다.
<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>
이 메소드는 노드 및 Pod에 대한 리소스 사용 정보가 포함된 적절한 구조를 반환합니다.
추가 정보
위 내용은 Go를 사용하여 Kubernetes에서 포드 및 노드의 리소스 사용량을 어떻게 쿼리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!