mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
remove dependency from top command
This commit is contained in:
parent
d5e5cabafc
commit
fe0f461cea
@ -140,6 +140,7 @@ go_library(
|
|||||||
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
|
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes/typed/rbac/v1:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes/typed/rbac/v1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/rest:go_default_library",
|
"//vendor/k8s.io/client-go/rest:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
|
"//vendor/k8s.io/client-go/tools/clientcmd:go_default_library",
|
||||||
|
@ -22,10 +22,10 @@ import (
|
|||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
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/kubernetes/pkg/api"
|
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||||
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
|
|
||||||
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
||||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||||
"k8s.io/kubernetes/pkg/kubectl/metricsutil"
|
"k8s.io/kubernetes/pkg/kubectl/metricsutil"
|
||||||
@ -36,7 +36,7 @@ import (
|
|||||||
type TopNodeOptions struct {
|
type TopNodeOptions struct {
|
||||||
ResourceName string
|
ResourceName string
|
||||||
Selector string
|
Selector string
|
||||||
NodeClient coreclient.NodesGetter
|
NodeClient corev1.CoreV1Interface
|
||||||
HeapsterOptions HeapsterTopOptions
|
HeapsterOptions HeapsterTopOptions
|
||||||
Client *metricsutil.HeapsterMetricsClient
|
Client *metricsutil.HeapsterMetricsClient
|
||||||
Printer *metricsutil.TopCmdPrinter
|
Printer *metricsutil.TopCmdPrinter
|
||||||
@ -118,7 +118,7 @@ func (o *TopNodeOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []
|
|||||||
return cmdutil.UsageErrorf(cmd, "%s", cmd.Use)
|
return cmdutil.UsageErrorf(cmd, "%s", cmd.Use)
|
||||||
}
|
}
|
||||||
|
|
||||||
clientset, err := f.ClientSet()
|
clientset, err := f.KubernetesClientSet()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -149,7 +149,7 @@ func (o TopNodeOptions) RunTopNode() error {
|
|||||||
return errors.New("metrics not available yet")
|
return errors.New("metrics not available yet")
|
||||||
}
|
}
|
||||||
|
|
||||||
var nodes []api.Node
|
var nodes []v1.Node
|
||||||
if len(o.ResourceName) > 0 {
|
if len(o.ResourceName) > 0 {
|
||||||
node, err := o.NodeClient.Nodes().Get(o.ResourceName, metav1.GetOptions{})
|
node, err := o.NodeClient.Nodes().Get(o.ResourceName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -166,7 +166,7 @@ func (o TopNodeOptions) RunTopNode() error {
|
|||||||
nodes = append(nodes, nodeList.Items...)
|
nodes = append(nodes, nodeList.Items...)
|
||||||
}
|
}
|
||||||
|
|
||||||
allocatable := make(map[string]api.ResourceList)
|
allocatable := make(map[string]v1.ResourceList)
|
||||||
|
|
||||||
for _, n := range nodes {
|
for _, n := range nodes {
|
||||||
allocatable[n.Name] = n.Status.Allocatable
|
allocatable[n.Name] = n.Status.Allocatable
|
||||||
|
@ -25,8 +25,8 @@ import (
|
|||||||
|
|
||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
"k8s.io/client-go/rest/fake"
|
"k8s.io/client-go/rest/fake"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
||||||
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
"k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
||||||
)
|
)
|
||||||
@ -188,7 +188,7 @@ func TestTopNodeWithLabelSelectorMetrics(t *testing.T) {
|
|||||||
ListMeta: metrics.ListMeta,
|
ListMeta: metrics.ListMeta,
|
||||||
Items: metrics.Items[0:1],
|
Items: metrics.Items[0:1],
|
||||||
}
|
}
|
||||||
expectedNodes := api.NodeList{
|
expectedNodes := v1.NodeList{
|
||||||
ListMeta: nodes.ListMeta,
|
ListMeta: nodes.ListMeta,
|
||||||
Items: nodes.Items[0:1],
|
Items: nodes.Items[0:1],
|
||||||
}
|
}
|
||||||
|
@ -22,10 +22,10 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"k8s.io/api/core/v1"
|
||||||
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/kubernetes/pkg/api"
|
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||||
coreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
|
|
||||||
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
||||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||||
"k8s.io/kubernetes/pkg/kubectl/metricsutil"
|
"k8s.io/kubernetes/pkg/kubectl/metricsutil"
|
||||||
@ -41,7 +41,7 @@ type TopPodOptions struct {
|
|||||||
Selector string
|
Selector string
|
||||||
AllNamespaces bool
|
AllNamespaces bool
|
||||||
PrintContainers bool
|
PrintContainers bool
|
||||||
PodClient coreclient.PodsGetter
|
PodClient corev1.PodsGetter
|
||||||
HeapsterOptions HeapsterTopOptions
|
HeapsterOptions HeapsterTopOptions
|
||||||
Client *metricsutil.HeapsterMetricsClient
|
Client *metricsutil.HeapsterMetricsClient
|
||||||
Printer *metricsutil.TopCmdPrinter
|
Printer *metricsutil.TopCmdPrinter
|
||||||
@ -114,7 +114,7 @@ func (o *TopPodOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args []s
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
clientset, err := f.ClientSet()
|
clientset, err := f.KubernetesClientSet()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ func verifyEmptyMetrics(o TopPodOptions, selector labels.Selector) error {
|
|||||||
return errors.New("metrics not available yet")
|
return errors.New("metrics not available yet")
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkPodAge(pod *api.Pod) error {
|
func checkPodAge(pod *v1.Pod) error {
|
||||||
age := time.Since(pod.CreationTimestamp.Time)
|
age := time.Since(pod.CreationTimestamp.Time)
|
||||||
if age > metricsCreationDelay {
|
if age > metricsCreationDelay {
|
||||||
message := fmt.Sprintf("Metrics not available for pod %s/%s, age: %s", pod.Namespace, pod.Name, age.String())
|
message := fmt.Sprintf("Metrics not available for pod %s/%s, age: %s", pod.Namespace, pod.Name, age.String())
|
||||||
|
@ -28,7 +28,6 @@ import (
|
|||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
||||||
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
metricsapi "k8s.io/metrics/pkg/apis/metrics/v1alpha1"
|
||||||
)
|
)
|
||||||
@ -59,7 +58,7 @@ func marshallBody(metrics interface{}) (io.ReadCloser, error) {
|
|||||||
return ioutil.NopCloser(bytes.NewReader(result)), nil
|
return ioutil.NopCloser(bytes.NewReader(result)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func testNodeMetricsData() (*metricsapi.NodeMetricsList, *api.NodeList) {
|
func testNodeMetricsData() (*metricsapi.NodeMetricsList, *v1.NodeList) {
|
||||||
metrics := &metricsapi.NodeMetricsList{
|
metrics := &metricsapi.NodeMetricsList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "1",
|
ResourceVersion: "1",
|
||||||
@ -85,28 +84,28 @@ func testNodeMetricsData() (*metricsapi.NodeMetricsList, *api.NodeList) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
nodes := &api.NodeList{
|
nodes := &v1.NodeList{
|
||||||
ListMeta: metav1.ListMeta{
|
ListMeta: metav1.ListMeta{
|
||||||
ResourceVersion: "15",
|
ResourceVersion: "15",
|
||||||
},
|
},
|
||||||
Items: []api.Node{
|
Items: []v1.Node{
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "node1", ResourceVersion: "10"},
|
ObjectMeta: metav1.ObjectMeta{Name: "node1", ResourceVersion: "10"},
|
||||||
Status: api.NodeStatus{
|
Status: v1.NodeStatus{
|
||||||
Allocatable: api.ResourceList{
|
Allocatable: v1.ResourceList{
|
||||||
api.ResourceCPU: *resource.NewMilliQuantity(10, resource.DecimalSI),
|
v1.ResourceCPU: *resource.NewMilliQuantity(10, resource.DecimalSI),
|
||||||
api.ResourceMemory: *resource.NewQuantity(20*(1024*1024), resource.DecimalSI),
|
v1.ResourceMemory: *resource.NewQuantity(20*(1024*1024), resource.DecimalSI),
|
||||||
api.ResourceStorage: *resource.NewQuantity(30*(1024*1024), resource.DecimalSI),
|
v1.ResourceStorage: *resource.NewQuantity(30*(1024*1024), resource.DecimalSI),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ObjectMeta: metav1.ObjectMeta{Name: "node2", ResourceVersion: "11"},
|
ObjectMeta: metav1.ObjectMeta{Name: "node2", ResourceVersion: "11"},
|
||||||
Status: api.NodeStatus{
|
Status: v1.NodeStatus{
|
||||||
Allocatable: api.ResourceList{
|
Allocatable: v1.ResourceList{
|
||||||
api.ResourceCPU: *resource.NewMilliQuantity(50, resource.DecimalSI),
|
v1.ResourceCPU: *resource.NewMilliQuantity(50, resource.DecimalSI),
|
||||||
api.ResourceMemory: *resource.NewQuantity(60*(1024*1024), resource.DecimalSI),
|
v1.ResourceMemory: *resource.NewQuantity(60*(1024*1024), resource.DecimalSI),
|
||||||
api.ResourceStorage: *resource.NewQuantity(70*(1024*1024), resource.DecimalSI),
|
v1.ResourceStorage: *resource.NewQuantity(70*(1024*1024), resource.DecimalSI),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user