diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index cf7744dbe19..ee05fbfdf64 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -1284,7 +1284,7 @@ func newTracerProvider(s *options.KubeletServer) (oteltrace.TracerProvider, erro } hostname, err := nodeutil.GetHostname(s.HostnameOverride) if err != nil { - return nil, fmt.Errorf("could not determine hostname for tracer provider: %v", err) + return nil, fmt.Errorf("could not determine hostname for tracer provider: %w", err) } resourceOpts := []otelsdkresource.Option{ otelsdkresource.WithAttributes( @@ -1294,7 +1294,7 @@ func newTracerProvider(s *options.KubeletServer) (oteltrace.TracerProvider, erro } tp, err := tracing.NewProvider(context.Background(), s.KubeletConfiguration.Tracing, []otlptracegrpc.Option{}, resourceOpts) if err != nil { - return nil, fmt.Errorf("could not configure tracer provider: %v", err) + return nil, fmt.Errorf("could not configure tracer provider: %w", err) } return tp, nil } diff --git a/hack/local-up-cluster.sh b/hack/local-up-cluster.sh index 16e8ed9a1cf..da790091911 100755 --- a/hack/local-up-cluster.sh +++ b/hack/local-up-cluster.sh @@ -93,6 +93,7 @@ STORAGE_BACKEND=${STORAGE_BACKEND:-"etcd3"} STORAGE_MEDIA_TYPE=${STORAGE_MEDIA_TYPE:-"application/vnd.kubernetes.protobuf"} # preserve etcd data. you also need to set ETCD_DIR. PRESERVE_ETCD="${PRESERVE_ETCD:-false}" +ENABLE_TRACING=${ENABLE_TRACING:-false} # enable Kubernetes-CSI snapshotter ENABLE_CSI_SNAPSHOTTER=${ENABLE_CSI_SNAPSHOTTER:-false} @@ -755,7 +756,7 @@ staticPodPath: "${POD_MANIFEST_PATH}" resolvConf: "${KUBELET_RESOLV_CONF}" EOF - if [[ "$FEATURE_GATES" == *KubeletTracing=true* ]]; then + if [[ "$ENABLE_TRACING" = true ]]; then cat <> "${TMP_DIR}"/kubelet.yaml tracing: endpoint: localhost:4317 # the default value diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index 13496837f5b..7f82542e61e 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -457,6 +457,7 @@ const ( // owner: @sallyom // kep: https://kep.k8s.io/2832 // alpha: v1.25 + // beta: v1.27 // // Add support for distributed tracing in the kubelet KubeletTracing featuregate.Feature = "KubeletTracing" @@ -955,7 +956,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS KubeletPodResourcesGetAllocatable: {Default: true, PreRelease: featuregate.Beta}, - KubeletTracing: {Default: false, PreRelease: featuregate.Alpha}, + KubeletTracing: {Default: true, PreRelease: featuregate.Beta}, LegacyServiceAccountTokenNoAutoGeneration: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.29 diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 3ffd1e40976..84355a88707 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -58020,7 +58020,7 @@ func schema_k8sio_kubelet_config_v1beta1_KubeletConfiguration(ref common.Referen }, "tracing": { SchemaProps: spec.SchemaProps{ - Description: "Tracing specifies the versioned configuration for OpenTelemetry tracing clients. See https://kep.k8s.io/2832 for more details.", + Description: "Tracing specifies the versioned configuration for OpenTelemetry tracing clients. See https://kep.k8s.io/2832 for more details. Default: nil", Ref: ref("k8s.io/component-base/tracing/api/v1.TracingConfiguration"), }, }, diff --git a/staging/src/k8s.io/kubelet/config/v1beta1/types.go b/staging/src/k8s.io/kubelet/config/v1beta1/types.go index b979ef81e7a..822c798bad6 100644 --- a/staging/src/k8s.io/kubelet/config/v1beta1/types.go +++ b/staging/src/k8s.io/kubelet/config/v1beta1/types.go @@ -789,6 +789,7 @@ type KubeletConfiguration struct { RegisterNode *bool `json:"registerNode,omitempty"` // Tracing specifies the versioned configuration for OpenTelemetry tracing clients. // See https://kep.k8s.io/2832 for more details. + // Default: nil // +featureGate=KubeletTracing // +optional Tracing *tracingapi.TracingConfiguration `json:"tracing,omitempty"`