mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
e2e/framework: remove imports to pkg/master/ports
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
This commit is contained in:
parent
426e5dc57d
commit
f0f6c6fc81
@ -13,6 +13,7 @@ go_library(
|
|||||||
"log_size_monitoring.go",
|
"log_size_monitoring.go",
|
||||||
"nodes_util.go",
|
"nodes_util.go",
|
||||||
"pods.go",
|
"pods.go",
|
||||||
|
"ports.go",
|
||||||
"provider.go",
|
"provider.go",
|
||||||
"psp.go",
|
"psp.go",
|
||||||
"resource_usage_gatherer.go",
|
"resource_usage_gatherer.go",
|
||||||
@ -30,7 +31,6 @@ go_library(
|
|||||||
"//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
|
"//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
|
||||||
"//pkg/kubelet/events:go_default_library",
|
"//pkg/kubelet/events:go_default_library",
|
||||||
"//pkg/kubelet/sysctl:go_default_library",
|
"//pkg/kubelet/sysctl:go_default_library",
|
||||||
"//pkg/master/ports:go_default_library",
|
|
||||||
"//pkg/security/podsecuritypolicy/seccomp:go_default_library",
|
"//pkg/security/podsecuritypolicy/seccomp:go_default_library",
|
||||||
"//pkg/util/taints:go_default_library",
|
"//pkg/util/taints:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
||||||
|
@ -13,7 +13,6 @@ go_library(
|
|||||||
"//pkg/kubelet/apis/config:go_default_library",
|
"//pkg/kubelet/apis/config:go_default_library",
|
||||||
"//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
|
"//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
|
||||||
"//pkg/kubelet/dockershim/metrics:go_default_library",
|
"//pkg/kubelet/dockershim/metrics:go_default_library",
|
||||||
"//pkg/master/ports:go_default_library",
|
|
||||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
||||||
|
@ -19,7 +19,7 @@ package kubelet
|
|||||||
import (
|
import (
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetKubeletPods retrieves the list of pods on the kubelet.
|
// GetKubeletPods retrieves the list of pods on the kubelet.
|
||||||
@ -36,7 +36,7 @@ func GetKubeletRunningPods(c clientset.Interface, node string) (*v1.PodList, err
|
|||||||
|
|
||||||
func getKubeletPods(c clientset.Interface, node, resource string) (*v1.PodList, error) {
|
func getKubeletPods(c clientset.Interface, node, resource string) (*v1.PodList, error) {
|
||||||
result := &v1.PodList{}
|
result := &v1.PodList{}
|
||||||
client, err := ProxyRequest(c, node, resource, ports.KubeletPort)
|
client, err := ProxyRequest(c, node, resource, framework.KubeletPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &v1.PodList{}, err
|
return &v1.PodList{}, err
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,6 @@ import (
|
|||||||
restclient "k8s.io/client-go/rest"
|
restclient "k8s.io/client-go/rest"
|
||||||
kubeletstatsv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1"
|
kubeletstatsv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1"
|
||||||
dockermetrics "k8s.io/kubernetes/pkg/kubelet/dockershim/metrics"
|
dockermetrics "k8s.io/kubernetes/pkg/kubelet/dockershim/metrics"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
e2emetrics "k8s.io/kubernetes/test/e2e/framework/metrics"
|
e2emetrics "k8s.io/kubernetes/test/e2e/framework/metrics"
|
||||||
)
|
)
|
||||||
@ -222,7 +221,7 @@ func GetStatsSummary(c clientset.Interface, nodeName string) (*kubeletstatsv1alp
|
|||||||
data, err := c.CoreV1().RESTClient().Get().
|
data, err := c.CoreV1().RESTClient().Get().
|
||||||
Resource("nodes").
|
Resource("nodes").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
Name(fmt.Sprintf("%v:%v", nodeName, framework.KubeletPort)).
|
||||||
Suffix("stats/summary").
|
Suffix("stats/summary").
|
||||||
Do(ctx).Raw()
|
Do(ctx).Raw()
|
||||||
|
|
||||||
@ -242,7 +241,7 @@ func getNodeStatsSummary(c clientset.Interface, nodeName string) (*kubeletstatsv
|
|||||||
data, err := c.CoreV1().RESTClient().Get().
|
data, err := c.CoreV1().RESTClient().Get().
|
||||||
Resource("nodes").
|
Resource("nodes").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
Name(fmt.Sprintf("%v:%v", nodeName, framework.KubeletPort)).
|
||||||
Suffix("stats/summary").
|
Suffix("stats/summary").
|
||||||
SetHeader("Content-Type", "application/json").
|
SetHeader("Content-Type", "application/json").
|
||||||
Do(context.TODO()).Raw()
|
Do(context.TODO()).Raw()
|
||||||
@ -309,7 +308,7 @@ func formatResourceUsageStats(nodeName string, containerStats ResourceUsagePerCo
|
|||||||
|
|
||||||
// GetKubeletHeapStats returns stats of kubelet heap.
|
// GetKubeletHeapStats returns stats of kubelet heap.
|
||||||
func GetKubeletHeapStats(c clientset.Interface, nodeName string) (string, error) {
|
func GetKubeletHeapStats(c clientset.Interface, nodeName string) (string, error) {
|
||||||
client, err := ProxyRequest(c, nodeName, "debug/pprof/heap", ports.KubeletPort)
|
client, err := ProxyRequest(c, nodeName, "debug/pprof/heap", framework.KubeletPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,6 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/kubelet/dockershim/metrics:go_default_library",
|
"//pkg/kubelet/dockershim/metrics:go_default_library",
|
||||||
"//pkg/kubelet/metrics:go_default_library",
|
"//pkg/kubelet/metrics:go_default_library",
|
||||||
"//pkg/master/ports:go_default_library",
|
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
|
@ -26,13 +26,23 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
|
||||||
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
||||||
"k8s.io/kubernetes/test/e2e/system"
|
"k8s.io/kubernetes/test/e2e/system"
|
||||||
|
|
||||||
"k8s.io/klog"
|
"k8s.io/klog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// insecureSchedulerPort is the default port for the scheduler status server.
|
||||||
|
// May be overridden by a flag at startup.
|
||||||
|
// Deprecated: use the secure KubeSchedulerPort instead.
|
||||||
|
insecureSchedulerPort = 10251
|
||||||
|
// insecureKubeControllerManagerPort is the default port for the controller manager status server.
|
||||||
|
// May be overridden by a flag at startup.
|
||||||
|
// Deprecated: use the secure KubeControllerManagerPort instead.
|
||||||
|
insecureKubeControllerManagerPort = 10252
|
||||||
|
)
|
||||||
|
|
||||||
// Collection is metrics collection of components
|
// Collection is metrics collection of components
|
||||||
type Collection struct {
|
type Collection struct {
|
||||||
APIServerMetrics APIServerMetrics
|
APIServerMetrics APIServerMetrics
|
||||||
@ -132,7 +142,7 @@ func (g *Grabber) GrabFromScheduler() (SchedulerMetrics, error) {
|
|||||||
if !g.registeredMaster {
|
if !g.registeredMaster {
|
||||||
return SchedulerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping Scheduler's metrics gathering")
|
return SchedulerMetrics{}, fmt.Errorf("Master's Kubelet is not registered. Skipping Scheduler's metrics gathering")
|
||||||
}
|
}
|
||||||
output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-scheduler", g.masterName), metav1.NamespaceSystem, ports.InsecureSchedulerPort)
|
output, err := g.getMetricsFromPod(g.client, fmt.Sprintf("%v-%v", "kube-scheduler", g.masterName), metav1.NamespaceSystem, insecureSchedulerPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return SchedulerMetrics{}, err
|
return SchedulerMetrics{}, err
|
||||||
}
|
}
|
||||||
@ -176,7 +186,7 @@ func (g *Grabber) GrabFromControllerManager() (ControllerManagerMetrics, error)
|
|||||||
|
|
||||||
var lastMetricsFetchErr error
|
var lastMetricsFetchErr error
|
||||||
if metricsWaitErr := wait.PollImmediate(time.Second, time.Minute, func() (bool, error) {
|
if metricsWaitErr := wait.PollImmediate(time.Second, time.Minute, func() (bool, error) {
|
||||||
_, lastMetricsFetchErr = g.getMetricsFromPod(g.client, podName, metav1.NamespaceSystem, ports.InsecureKubeControllerManagerPort)
|
_, lastMetricsFetchErr = g.getMetricsFromPod(g.client, podName, metav1.NamespaceSystem, insecureKubeControllerManagerPort)
|
||||||
return lastMetricsFetchErr == nil, nil
|
return lastMetricsFetchErr == nil, nil
|
||||||
}); metricsWaitErr != nil {
|
}); metricsWaitErr != nil {
|
||||||
err = fmt.Errorf("error waiting for controller manager pod to expose metrics: %v; %v", metricsWaitErr, lastMetricsFetchErr)
|
err = fmt.Errorf("error waiting for controller manager pod to expose metrics: %v; %v", metricsWaitErr, lastMetricsFetchErr)
|
||||||
@ -187,7 +197,7 @@ func (g *Grabber) GrabFromControllerManager() (ControllerManagerMetrics, error)
|
|||||||
return ControllerManagerMetrics{}, err
|
return ControllerManagerMetrics{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
output, err := g.getMetricsFromPod(g.client, podName, metav1.NamespaceSystem, ports.InsecureKubeControllerManagerPort)
|
output, err := g.getMetricsFromPod(g.client, podName, metav1.NamespaceSystem, insecureKubeControllerManagerPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ControllerManagerMetrics{}, err
|
return ControllerManagerMetrics{}, err
|
||||||
}
|
}
|
||||||
|
33
test/e2e/framework/ports.go
Normal file
33
test/e2e/framework/ports.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package framework
|
||||||
|
|
||||||
|
// NOTE: constants in this file are copied from pkg/master/ports/ports.go
|
||||||
|
|
||||||
|
const (
|
||||||
|
// KubeletPort is the default port for the kubelet server on each host machine.
|
||||||
|
// May be overridden by a flag at startup.
|
||||||
|
KubeletPort = 10250
|
||||||
|
// InsecureSchedulerPort is the default port for the scheduler status server.
|
||||||
|
// May be overridden by a flag at startup.
|
||||||
|
// Deprecated: use the secure KubeSchedulerPort instead.
|
||||||
|
InsecureSchedulerPort = 10251
|
||||||
|
// InsecureKubeControllerManagerPort is the default port for the controller manager status server.
|
||||||
|
// May be overridden by a flag at startup.
|
||||||
|
// Deprecated: use the secure KubeControllerManagerPort instead.
|
||||||
|
InsecureKubeControllerManagerPort = 10252
|
||||||
|
)
|
@ -35,7 +35,6 @@ import (
|
|||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
kubeletstatsv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1"
|
kubeletstatsv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
|
||||||
"k8s.io/kubernetes/test/e2e/system"
|
"k8s.io/kubernetes/test/e2e/system"
|
||||||
|
|
||||||
// TODO: Remove the following imports (ref: https://github.com/kubernetes/kubernetes/issues/81245)
|
// TODO: Remove the following imports (ref: https://github.com/kubernetes/kubernetes/issues/81245)
|
||||||
@ -296,7 +295,7 @@ func getStatsSummary(c clientset.Interface, nodeName string) (*kubeletstatsv1alp
|
|||||||
data, err := c.CoreV1().RESTClient().Get().
|
data, err := c.CoreV1().RESTClient().Get().
|
||||||
Resource("nodes").
|
Resource("nodes").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(fmt.Sprintf("%v:%v", nodeName, ports.KubeletPort)).
|
Name(fmt.Sprintf("%v:%v", nodeName, KubeletPort)).
|
||||||
Suffix("stats/summary").
|
Suffix("stats/summary").
|
||||||
Do(ctx).Raw()
|
Do(ctx).Raw()
|
||||||
|
|
||||||
|
@ -68,7 +68,6 @@ import (
|
|||||||
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
|
||||||
"k8s.io/kubernetes/pkg/client/conditions"
|
"k8s.io/kubernetes/pkg/client/conditions"
|
||||||
"k8s.io/kubernetes/pkg/controller"
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
"k8s.io/kubernetes/pkg/master/ports"
|
|
||||||
taintutils "k8s.io/kubernetes/pkg/util/taints"
|
taintutils "k8s.io/kubernetes/pkg/util/taints"
|
||||||
testutils "k8s.io/kubernetes/test/utils"
|
testutils "k8s.io/kubernetes/test/utils"
|
||||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||||
@ -980,7 +979,7 @@ func getKubeletPods(c clientset.Interface, node string) (*v1.PodList, error) {
|
|||||||
client = c.CoreV1().RESTClient().Get().
|
client = c.CoreV1().RESTClient().Get().
|
||||||
Resource("nodes").
|
Resource("nodes").
|
||||||
SubResource("proxy").
|
SubResource("proxy").
|
||||||
Name(fmt.Sprintf("%v:%v", node, ports.KubeletPort)).
|
Name(fmt.Sprintf("%v:%v", node, KubeletPort)).
|
||||||
Suffix("pods").
|
Suffix("pods").
|
||||||
Do(context.TODO())
|
Do(context.TODO())
|
||||||
|
|
||||||
@ -1492,7 +1491,7 @@ func RestartControllerManager() error {
|
|||||||
|
|
||||||
// WaitForControllerManagerUp waits for the kube-controller-manager to be up.
|
// WaitForControllerManagerUp waits for the kube-controller-manager to be up.
|
||||||
func WaitForControllerManagerUp() error {
|
func WaitForControllerManagerUp() error {
|
||||||
cmd := "curl http://localhost:" + strconv.Itoa(ports.InsecureKubeControllerManagerPort) + "/healthz"
|
cmd := "curl http://localhost:" + strconv.Itoa(InsecureKubeControllerManagerPort) + "/healthz"
|
||||||
for start := time.Now(); time.Since(start) < time.Minute; time.Sleep(5 * time.Second) {
|
for start := time.Now(); time.Since(start) < time.Minute; time.Sleep(5 * time.Second) {
|
||||||
result, err := e2essh.SSH(cmd, net.JoinHostPort(GetMasterHost(), sshPort), TestContext.Provider)
|
result, err := e2essh.SSH(cmd, net.JoinHostPort(GetMasterHost(), sshPort), TestContext.Provider)
|
||||||
if err != nil || result.Code != 0 {
|
if err != nil || result.Code != 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user