mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 01:38:10 +00:00
Update custom-metrics-apiserver and metrics-server
This commit is contained in:
parent
4c673534f2
commit
b480e45a67
915 changed files with 63694 additions and 106514 deletions
4
vendor/sigs.k8s.io/metrics-server/pkg/api/interfaces.go
generated
vendored
4
vendor/sigs.k8s.io/metrics-server/pkg/api/interfaces.go
generated
vendored
|
|
@ -51,7 +51,7 @@ type PodMetricsGetter interface {
|
|||
// GetContainerMetrics gets the latest metrics for all containers in each listed pod,
|
||||
// returning both the metrics and the associated collection timestamp.
|
||||
// If a pod is missing, the container metrics should be nil for that pod.
|
||||
GetContainerMetrics(pods ...apitypes.NamespacedName) ([]TimeInfo, [][]metrics.ContainerMetrics, error)
|
||||
GetContainerMetrics(pods ...apitypes.NamespacedName) ([]TimeInfo, [][]metrics.ContainerMetrics)
|
||||
}
|
||||
|
||||
// NodeMetricsGetter knows how to fetch metrics for a node.
|
||||
|
|
@ -59,5 +59,5 @@ type NodeMetricsGetter interface {
|
|||
// GetNodeMetrics gets the latest metrics for the given nodes,
|
||||
// returning both the metrics and the associated collection timestamp.
|
||||
// If a node is missing, the resourcelist should be nil for that node.
|
||||
GetNodeMetrics(nodes ...string) ([]TimeInfo, []corev1.ResourceList, error)
|
||||
GetNodeMetrics(nodes ...string) ([]TimeInfo, []corev1.ResourceList)
|
||||
}
|
||||
|
|
|
|||
35
vendor/sigs.k8s.io/metrics-server/pkg/api/node.go
generated
vendored
35
vendor/sigs.k8s.io/metrics-server/pkg/api/node.go
generated
vendored
|
|
@ -76,25 +76,30 @@ func (m *nodeMetrics) NewList() runtime.Object {
|
|||
// Lister interface
|
||||
func (m *nodeMetrics) List(ctx context.Context, options *metainternalversion.ListOptions) (runtime.Object, error) {
|
||||
labelSelector := labels.Everything()
|
||||
fieldSelector := fields.Everything()
|
||||
if options != nil && options.LabelSelector != nil {
|
||||
labelSelector = options.LabelSelector
|
||||
}
|
||||
if options != nil && options.FieldSelector != nil {
|
||||
fieldSelector = options.FieldSelector
|
||||
}
|
||||
nodes, err := m.nodeLister.ListWithPredicate(func(node *v1.Node) bool {
|
||||
if labelSelector.Empty() && fieldSelector.Empty() {
|
||||
return true
|
||||
}
|
||||
fieldsSet := generic.AddObjectMetaFieldsSet(make(fields.Set, 2), &node.ObjectMeta, true)
|
||||
return labelSelector.Matches(labels.Set(node.Labels)) && fieldSelector.Matches(fieldsSet)
|
||||
})
|
||||
nodes, err := m.nodeLister.List(labelSelector)
|
||||
if err != nil {
|
||||
errMsg := fmt.Errorf("Error while listing nodes for selector %v: %v", labelSelector, err)
|
||||
klog.Error(errMsg)
|
||||
return &metrics.NodeMetricsList{}, errMsg
|
||||
}
|
||||
if options != nil && options.FieldSelector != nil {
|
||||
newNodes := make([]*v1.Node, 0, len(nodes))
|
||||
fields := make(fields.Set, 2)
|
||||
for _, node := range nodes {
|
||||
for k := range fields {
|
||||
delete(fields, k)
|
||||
}
|
||||
fieldsSet := generic.AddObjectMetaFieldsSet(fields, &node.ObjectMeta, true)
|
||||
if !options.FieldSelector.Matches(fieldsSet) {
|
||||
continue
|
||||
}
|
||||
newNodes = append(newNodes, node)
|
||||
}
|
||||
nodes = newNodes
|
||||
}
|
||||
|
||||
names := make([]string, len(nodes))
|
||||
for i, node := range nodes {
|
||||
|
|
@ -185,17 +190,11 @@ func addNodeMetricsToTable(table *metav1beta1.Table, nodes ...metrics.NodeMetric
|
|||
}
|
||||
|
||||
func (m *nodeMetrics) getNodeMetrics(names ...string) ([]metrics.NodeMetrics, error) {
|
||||
timestamps, usages, err := m.metrics.GetNodeMetrics(names...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
timestamps, usages := m.metrics.GetNodeMetrics(names...)
|
||||
res := make([]metrics.NodeMetrics, 0, len(names))
|
||||
|
||||
for i, name := range names {
|
||||
if usages[i] == nil {
|
||||
klog.Errorf("unable to fetch node metrics for node %q: no metrics known for node", name)
|
||||
|
||||
continue
|
||||
}
|
||||
res = append(res, metrics.NodeMetrics{
|
||||
|
|
|
|||
7
vendor/sigs.k8s.io/metrics-server/pkg/api/pod.go
generated
vendored
7
vendor/sigs.k8s.io/metrics-server/pkg/api/pod.go
generated
vendored
|
|
@ -230,11 +230,7 @@ func (m *podMetrics) getPodMetrics(pods ...*v1.Pod) ([]metrics.PodMetrics, error
|
|||
Namespace: pod.Namespace,
|
||||
}
|
||||
}
|
||||
timestamps, containerMetrics, err := m.metrics.GetContainerMetrics(namespacedNames...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
timestamps, containerMetrics := m.metrics.GetContainerMetrics(namespacedNames...)
|
||||
res := make([]metrics.PodMetrics, 0, len(pods))
|
||||
|
||||
for i, pod := range pods {
|
||||
|
|
@ -243,7 +239,6 @@ func (m *podMetrics) getPodMetrics(pods ...*v1.Pod) ([]metrics.PodMetrics, error
|
|||
continue
|
||||
}
|
||||
if containerMetrics[i] == nil {
|
||||
klog.Errorf("unable to fetch pod metrics for pod %s/%s: no metrics known for pod", pod.Namespace, pod.Name)
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue