Merge pull request #102917 from bysnupy/patch-1
Use "Capacity" instead of "Allocatable" for an accurate node memory total size Kubernetes-commit: cee4aa09b09298c5d2ecf4ccaed9927f3c176fdf
This commit is contained in:
commit
3ab8b66bdf
4
go.mod
4
go.mod
|
|
@ -34,7 +34,7 @@ require (
|
|||
k8s.io/api v0.0.0-20211104203923-7979b39b3911
|
||||
k8s.io/apimachinery v0.0.0-20211104003341-94020522c95c
|
||||
k8s.io/cli-runtime v0.0.0-20211104010100-ccbc2faf32b1
|
||||
k8s.io/client-go v0.0.0-20211104003836-6d49694c4453
|
||||
k8s.io/client-go v0.0.0-20211105164225-9b0b23a8ade2
|
||||
k8s.io/component-base v0.0.0-20211104205040-9025b85fb213
|
||||
k8s.io/component-helpers v0.0.0-20211104004528-10364a9c8a37
|
||||
k8s.io/klog/v2 v2.30.0
|
||||
|
|
@ -50,7 +50,7 @@ replace (
|
|||
k8s.io/api => k8s.io/api v0.0.0-20211104203923-7979b39b3911
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20211104003341-94020522c95c
|
||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20211104010100-ccbc2faf32b1
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20211104003836-6d49694c4453
|
||||
k8s.io/client-go => k8s.io/client-go v0.0.0-20211105164225-9b0b23a8ade2
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20211104003136-1003036828ea
|
||||
k8s.io/component-base => k8s.io/component-base v0.0.0-20211104205040-9025b85fb213
|
||||
k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20211104004528-10364a9c8a37
|
||||
|
|
|
|||
4
go.sum
4
go.sum
|
|
@ -908,8 +908,8 @@ k8s.io/apimachinery v0.0.0-20211104003341-94020522c95c h1:18i+Svc8AQt2tsHgUJjMgi
|
|||
k8s.io/apimachinery v0.0.0-20211104003341-94020522c95c/go.mod h1:NdmIf2dMPBkkSfPmCDRbThro3RAWWypv6x+CttBbMto=
|
||||
k8s.io/cli-runtime v0.0.0-20211104010100-ccbc2faf32b1 h1:KR+VHGOl0iye0Eu9fyPtJU3UtOLniYbA352RpzZGBvM=
|
||||
k8s.io/cli-runtime v0.0.0-20211104010100-ccbc2faf32b1/go.mod h1:wHnWmk7jRQ9sQtUhrS9Wx9rLB3Uh1NaUPKUNMCAJuLg=
|
||||
k8s.io/client-go v0.0.0-20211104003836-6d49694c4453 h1:5555+BsEXvnsDKnNtMm4pL5Jf9x4HBN96ZZ9cQ5Wt9c=
|
||||
k8s.io/client-go v0.0.0-20211104003836-6d49694c4453/go.mod h1:XlENrFN0KamgreLfijzwed9BylToe+dU63vC+0pl4/M=
|
||||
k8s.io/client-go v0.0.0-20211105164225-9b0b23a8ade2 h1:xSziulz0lPNAGwDShPbAl/GDC0WhcT0SXBSgupRuvwA=
|
||||
k8s.io/client-go v0.0.0-20211105164225-9b0b23a8ade2/go.mod h1:g16LjnowDDsmCFt4UWsyD8NLjDvW3fPe9yrv0R1cGeE=
|
||||
k8s.io/code-generator v0.0.0-20211104003136-1003036828ea/go.mod h1:wgD40ts/jbentZZcVvzzscrjJ2IoTSNJXfeVJxytQvU=
|
||||
k8s.io/component-base v0.0.0-20211104205040-9025b85fb213 h1:lyyB2OygJtIIBbgpRR2dKm5aue0Aqax/LJDvXBst1bI=
|
||||
k8s.io/component-base v0.0.0-20211104205040-9025b85fb213/go.mod h1:GiuGF3WbM9lKQ32U85f+z0vIRD1J3vAg3My8kBvmbOA=
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ type TopNodeOptions struct {
|
|||
SortBy string
|
||||
NoHeaders bool
|
||||
UseProtocolBuffers bool
|
||||
ShowCapacity bool
|
||||
|
||||
NodeClient corev1client.CoreV1Interface
|
||||
Printer *metricsutil.TopCmdPrinter
|
||||
|
|
@ -93,6 +94,7 @@ func NewCmdTopNode(f cmdutil.Factory, o *TopNodeOptions, streams genericclioptio
|
|||
cmd.Flags().StringVar(&o.SortBy, "sort-by", o.SortBy, "If non-empty, sort nodes list using specified field. The field can be either 'cpu' or 'memory'.")
|
||||
cmd.Flags().BoolVar(&o.NoHeaders, "no-headers", o.NoHeaders, "If present, print output without headers")
|
||||
cmd.Flags().BoolVar(&o.UseProtocolBuffers, "use-protocol-buffers", o.UseProtocolBuffers, "Enables using protocol-buffers to access Metrics API.")
|
||||
cmd.Flags().BoolVar(&o.ShowCapacity, "show-capacity", o.ShowCapacity, "Print node resources based on Capacity instead of Allocatable(default) of the nodes.")
|
||||
|
||||
return cmd
|
||||
}
|
||||
|
|
@ -188,13 +190,17 @@ func (o TopNodeOptions) RunTopNode() error {
|
|||
nodes = append(nodes, nodeList.Items...)
|
||||
}
|
||||
|
||||
allocatable := make(map[string]v1.ResourceList)
|
||||
availableResources := make(map[string]v1.ResourceList)
|
||||
|
||||
for _, n := range nodes {
|
||||
allocatable[n.Name] = n.Status.Allocatable
|
||||
if !o.ShowCapacity {
|
||||
availableResources[n.Name] = n.Status.Allocatable
|
||||
} else {
|
||||
availableResources[n.Name] = n.Status.Capacity
|
||||
}
|
||||
}
|
||||
|
||||
return o.Printer.PrintNodeMetrics(metrics.Items, allocatable, o.NoHeaders, o.SortBy)
|
||||
return o.Printer.PrintNodeMetrics(metrics.Items, availableResources, o.NoHeaders, o.SortBy)
|
||||
}
|
||||
|
||||
func getNodeMetricsFromMetricsAPI(metricsClient metricsclientset.Interface, resourceName string, selector labels.Selector) (*metricsapi.NodeMetricsList, error) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue