mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-13 21:25:09 +00:00
Merge pull request #123796 from saschagrunert/kube-features-remote-runtime
Decouple `kubelet/cri/remote` package from `pkg/features`
This commit is contained in:
@@ -29,13 +29,11 @@ import (
|
|||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/credentials/insecure"
|
"google.golang.org/grpc/credentials/insecure"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
tracing "k8s.io/component-base/tracing"
|
tracing "k8s.io/component-base/tracing"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
|
||||||
internalapi "k8s.io/cri-api/pkg/apis"
|
internalapi "k8s.io/cri-api/pkg/apis"
|
||||||
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
|
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util"
|
"k8s.io/kubernetes/pkg/kubelet/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -62,7 +60,7 @@ func NewRemoteImageService(endpoint string, connectionTimeout time.Duration, tp
|
|||||||
grpc.WithAuthority("localhost"),
|
grpc.WithAuthority("localhost"),
|
||||||
grpc.WithContextDialer(dialer),
|
grpc.WithContextDialer(dialer),
|
||||||
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(maxMsgSize)))
|
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(maxMsgSize)))
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) {
|
if tp != nil {
|
||||||
tracingOpts := []otelgrpc.Option{
|
tracingOpts := []otelgrpc.Option{
|
||||||
otelgrpc.WithMessageEvents(otelgrpc.ReceivedEvents, otelgrpc.SentEvents),
|
otelgrpc.WithMessageEvents(otelgrpc.ReceivedEvents, otelgrpc.SentEvents),
|
||||||
otelgrpc.WithPropagators(tracing.Propagators()),
|
otelgrpc.WithPropagators(tracing.Propagators()),
|
||||||
|
@@ -26,11 +26,8 @@ import (
|
|||||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||||
oteltrace "go.opentelemetry.io/otel/trace"
|
oteltrace "go.opentelemetry.io/otel/trace"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
|
||||||
internalapi "k8s.io/cri-api/pkg/apis"
|
internalapi "k8s.io/cri-api/pkg/apis"
|
||||||
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
|
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util"
|
"k8s.io/kubernetes/pkg/kubelet/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -49,7 +46,6 @@ func createRemoteImageServiceWithoutTracerProvider(endpoint string, t *testing.T
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestImageServiceSpansWithTP(t *testing.T) {
|
func TestImageServiceSpansWithTP(t *testing.T) {
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletTracing, true)
|
|
||||||
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
||||||
defer func() {
|
defer func() {
|
||||||
fakeRuntime.Stop()
|
fakeRuntime.Stop()
|
||||||
@@ -76,7 +72,6 @@ func TestImageServiceSpansWithTP(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestImageServiceSpansWithoutTP(t *testing.T) {
|
func TestImageServiceSpansWithoutTP(t *testing.T) {
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletTracing, true)
|
|
||||||
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
||||||
defer func() {
|
defer func() {
|
||||||
fakeRuntime.Stop()
|
fakeRuntime.Stop()
|
||||||
|
@@ -31,13 +31,11 @@ import (
|
|||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
"google.golang.org/grpc/credentials/insecure"
|
"google.golang.org/grpc/credentials/insecure"
|
||||||
"google.golang.org/grpc/status"
|
"google.golang.org/grpc/status"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
"k8s.io/component-base/logs/logreduction"
|
"k8s.io/component-base/logs/logreduction"
|
||||||
tracing "k8s.io/component-base/tracing"
|
tracing "k8s.io/component-base/tracing"
|
||||||
internalapi "k8s.io/cri-api/pkg/apis"
|
internalapi "k8s.io/cri-api/pkg/apis"
|
||||||
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
|
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util"
|
"k8s.io/kubernetes/pkg/kubelet/util"
|
||||||
"k8s.io/kubernetes/pkg/probe/exec"
|
"k8s.io/kubernetes/pkg/probe/exec"
|
||||||
|
|
||||||
@@ -90,7 +88,7 @@ func NewRemoteRuntimeService(endpoint string, connectionTimeout time.Duration, t
|
|||||||
grpc.WithAuthority("localhost"),
|
grpc.WithAuthority("localhost"),
|
||||||
grpc.WithContextDialer(dialer),
|
grpc.WithContextDialer(dialer),
|
||||||
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(maxMsgSize)))
|
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(maxMsgSize)))
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) {
|
if tp != nil {
|
||||||
tracingOpts := []otelgrpc.Option{
|
tracingOpts := []otelgrpc.Option{
|
||||||
otelgrpc.WithMessageEvents(otelgrpc.ReceivedEvents, otelgrpc.SentEvents),
|
otelgrpc.WithMessageEvents(otelgrpc.ReceivedEvents, otelgrpc.SentEvents),
|
||||||
otelgrpc.WithPropagators(tracing.Propagators()),
|
otelgrpc.WithPropagators(tracing.Propagators()),
|
||||||
|
@@ -28,11 +28,8 @@ import (
|
|||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
|
||||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
|
||||||
internalapi "k8s.io/cri-api/pkg/apis"
|
internalapi "k8s.io/cri-api/pkg/apis"
|
||||||
apitest "k8s.io/cri-api/pkg/apis/testing"
|
apitest "k8s.io/cri-api/pkg/apis/testing"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
|
||||||
fakeremote "k8s.io/kubernetes/pkg/kubelet/cri/remote/fake"
|
fakeremote "k8s.io/kubernetes/pkg/kubelet/cri/remote/fake"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/util"
|
"k8s.io/kubernetes/pkg/kubelet/util"
|
||||||
)
|
)
|
||||||
@@ -70,7 +67,6 @@ func createRemoteRuntimeServiceWithTracerProvider(endpoint string, tp oteltrace.
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGetSpans(t *testing.T) {
|
func TestGetSpans(t *testing.T) {
|
||||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletTracing, true)
|
|
||||||
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
fakeRuntime, endpoint := createAndStartFakeRemoteRuntime(t)
|
||||||
defer func() {
|
defer func() {
|
||||||
fakeRuntime.Stop()
|
fakeRuntime.Stop()
|
||||||
|
@@ -322,10 +322,16 @@ func PreInitRuntimeService(kubeCfg *kubeletconfiginternal.KubeletConfiguration,
|
|||||||
remoteImageEndpoint = kubeCfg.ContainerRuntimeEndpoint
|
remoteImageEndpoint = kubeCfg.ContainerRuntimeEndpoint
|
||||||
}
|
}
|
||||||
var err error
|
var err error
|
||||||
if kubeDeps.RemoteRuntimeService, err = remote.NewRemoteRuntimeService(kubeCfg.ContainerRuntimeEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, kubeDeps.TracerProvider); err != nil {
|
|
||||||
|
var tp trace.TracerProvider
|
||||||
|
if utilfeature.DefaultFeatureGate.Enabled(features.KubeletTracing) {
|
||||||
|
tp = kubeDeps.TracerProvider
|
||||||
|
}
|
||||||
|
|
||||||
|
if kubeDeps.RemoteRuntimeService, err = remote.NewRemoteRuntimeService(kubeCfg.ContainerRuntimeEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, tp); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if kubeDeps.RemoteImageService, err = remote.NewRemoteImageService(remoteImageEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, kubeDeps.TracerProvider); err != nil {
|
if kubeDeps.RemoteImageService, err = remote.NewRemoteImageService(remoteImageEndpoint, kubeCfg.RuntimeRequestTimeout.Duration, tp); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user