remove dependency from kubectl/metricsutil

This commit is contained in:
zhengjiajin 2017-10-31 16:16:07 +08:00
parent fe0f461cea
commit 2862fcc688
3 changed files with 22 additions and 22 deletions

View File

@ -14,15 +14,15 @@ go_library(
"//build/visible_to:pkg_kubectl_metricsutil_CONSUMERS", "//build/visible_to:pkg_kubectl_metricsutil_CONSUMERS",
], ],
deps = [ deps = [
"//pkg/api:go_default_library",
"//pkg/api/legacyscheme:go_default_library", "//pkg/api/legacyscheme:go_default_library",
"//pkg/api/validation:go_default_library", "//pkg/api/validation:go_default_library",
"//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library",
"//pkg/printers:go_default_library", "//pkg/printers:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library", "//vendor/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library",
], ],
) )

View File

@ -24,8 +24,8 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/api/validation"
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1" metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
) )
@ -46,14 +46,14 @@ var (
) )
type HeapsterMetricsClient struct { type HeapsterMetricsClient struct {
SVCClient coreclient.ServicesGetter SVCClient corev1.ServicesGetter
HeapsterNamespace string HeapsterNamespace string
HeapsterScheme string HeapsterScheme string
HeapsterService string HeapsterService string
HeapsterPort string HeapsterPort string
} }
func NewHeapsterMetricsClient(svcClient coreclient.ServicesGetter, namespace, scheme, service, port string) *HeapsterMetricsClient { func NewHeapsterMetricsClient(svcClient corev1.ServicesGetter, namespace, scheme, service, port string) *HeapsterMetricsClient {
return &HeapsterMetricsClient{ return &HeapsterMetricsClient{
SVCClient: svcClient, SVCClient: svcClient,
HeapsterNamespace: namespace, HeapsterNamespace: namespace,
@ -63,7 +63,7 @@ func NewHeapsterMetricsClient(svcClient coreclient.ServicesGetter, namespace, sc
} }
} }
func DefaultHeapsterMetricsClient(svcClient coreclient.ServicesGetter) *HeapsterMetricsClient { func DefaultHeapsterMetricsClient(svcClient corev1.ServicesGetter) *HeapsterMetricsClient {
return NewHeapsterMetricsClient(svcClient, DefaultHeapsterNamespace, DefaultHeapsterScheme, DefaultHeapsterService, DefaultHeapsterPort) return NewHeapsterMetricsClient(svcClient, DefaultHeapsterNamespace, DefaultHeapsterScheme, DefaultHeapsterService, DefaultHeapsterPort)
} }

View File

@ -21,17 +21,17 @@ import (
"io" "io"
"sort" "sort"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/api/resource"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1" metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
) )
var ( var (
MeasuredResources = []api.ResourceName{ MeasuredResources = []v1.ResourceName{
api.ResourceCPU, v1.ResourceCPU,
api.ResourceMemory, v1.ResourceMemory,
} }
NodeColumns = []string{"NAME", "CPU(cores)", "CPU%", "MEMORY(bytes)", "MEMORY%"} NodeColumns = []string{"NAME", "CPU(cores)", "CPU%", "MEMORY(bytes)", "MEMORY%"}
PodColumns = []string{"NAME", "CPU(cores)", "MEMORY(bytes)"} PodColumns = []string{"NAME", "CPU(cores)", "MEMORY(bytes)"}
@ -41,8 +41,8 @@ var (
type ResourceMetricsInfo struct { type ResourceMetricsInfo struct {
Name string Name string
Metrics api.ResourceList Metrics v1.ResourceList
Available api.ResourceList Available v1.ResourceList
} }
type TopCmdPrinter struct { type TopCmdPrinter struct {
@ -53,7 +53,7 @@ func NewTopCmdPrinter(out io.Writer) *TopCmdPrinter {
return &TopCmdPrinter{out: out} return &TopCmdPrinter{out: out}
} }
func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics, availableResources map[string]api.ResourceList) error { func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics, availableResources map[string]v1.ResourceList) error {
if len(metrics) == 0 { if len(metrics) == 0 {
return nil return nil
} }
@ -65,7 +65,7 @@ func (printer *TopCmdPrinter) PrintNodeMetrics(metrics []metricsapi.NodeMetrics,
}) })
printColumnNames(w, NodeColumns) printColumnNames(w, NodeColumns)
var usage api.ResourceList var usage v1.ResourceList
for _, m := range metrics { for _, m := range metrics {
err := legacyscheme.Scheme.Convert(&m.Usage, &usage, nil) err := legacyscheme.Scheme.Convert(&m.Usage, &usage, nil)
if err != nil { if err != nil {
@ -119,14 +119,14 @@ func printColumnNames(out io.Writer, names []string) {
} }
func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContainersOnly bool, withNamespace bool) error { func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContainersOnly bool, withNamespace bool) error {
containers := make(map[string]api.ResourceList) containers := make(map[string]v1.ResourceList)
podMetrics := make(api.ResourceList) podMetrics := make(v1.ResourceList)
for _, res := range MeasuredResources { for _, res := range MeasuredResources {
podMetrics[res], _ = resource.ParseQuantity("0") podMetrics[res], _ = resource.ParseQuantity("0")
} }
for _, c := range m.Containers { for _, c := range m.Containers {
var usage api.ResourceList var usage v1.ResourceList
err := legacyscheme.Scheme.Convert(&c.Usage, &usage, nil) err := legacyscheme.Scheme.Convert(&c.Usage, &usage, nil)
if err != nil { if err != nil {
return err return err
@ -149,7 +149,7 @@ func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContain
printMetricsLine(out, &ResourceMetricsInfo{ printMetricsLine(out, &ResourceMetricsInfo{
Name: contName, Name: contName,
Metrics: containers[contName], Metrics: containers[contName],
Available: api.ResourceList{}, Available: v1.ResourceList{},
}) })
} }
} else { } else {
@ -159,7 +159,7 @@ func printSinglePodMetrics(out io.Writer, m *metricsapi.PodMetrics, printContain
printMetricsLine(out, &ResourceMetricsInfo{ printMetricsLine(out, &ResourceMetricsInfo{
Name: m.Name, Name: m.Name,
Metrics: podMetrics, Metrics: podMetrics,
Available: api.ResourceList{}, Available: v1.ResourceList{},
}) })
} }
return nil return nil
@ -187,11 +187,11 @@ func printAllResourceUsages(out io.Writer, metrics *ResourceMetricsInfo) {
} }
} }
func printSingleResourceUsage(out io.Writer, resourceType api.ResourceName, quantity resource.Quantity) { func printSingleResourceUsage(out io.Writer, resourceType v1.ResourceName, quantity resource.Quantity) {
switch resourceType { switch resourceType {
case api.ResourceCPU: case v1.ResourceCPU:
fmt.Fprintf(out, "%vm", quantity.MilliValue()) fmt.Fprintf(out, "%vm", quantity.MilliValue())
case api.ResourceMemory: case v1.ResourceMemory:
fmt.Fprintf(out, "%vMi", quantity.Value()/(1024*1024)) fmt.Fprintf(out, "%vMi", quantity.Value()/(1024*1024))
default: default:
fmt.Fprintf(out, "%v", quantity.Value()) fmt.Fprintf(out, "%v", quantity.Value())