mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 02:41:25 +00:00
Merge pull request #85282 from serathius/flag-kubelet
Add show-hidden-metrics-for-version to kubelet
This commit is contained in:
commit
6ec3ea855d
@ -139,6 +139,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/cloud-provider:go_default_library",
|
"//staging/src/k8s.io/cloud-provider:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
|
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/featuregate:go_default_library",
|
"//staging/src/k8s.io/component-base/featuregate:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/metrics:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/version:go_default_library",
|
"//staging/src/k8s.io/component-base/version:go_default_library",
|
||||||
"//staging/src/k8s.io/component-base/version/verflag:go_default_library",
|
"//staging/src/k8s.io/component-base/version/verflag:go_default_library",
|
||||||
"//staging/src/k8s.io/csi-translation-lib/plugins:go_default_library",
|
"//staging/src/k8s.io/csi-translation-lib/plugins:go_default_library",
|
||||||
|
@ -62,6 +62,7 @@ import (
|
|||||||
cloudprovider "k8s.io/cloud-provider"
|
cloudprovider "k8s.io/cloud-provider"
|
||||||
cliflag "k8s.io/component-base/cli/flag"
|
cliflag "k8s.io/component-base/cli/flag"
|
||||||
"k8s.io/component-base/featuregate"
|
"k8s.io/component-base/featuregate"
|
||||||
|
"k8s.io/component-base/metrics"
|
||||||
"k8s.io/component-base/version"
|
"k8s.io/component-base/version"
|
||||||
"k8s.io/component-base/version/verflag"
|
"k8s.io/component-base/version/verflag"
|
||||||
kubeletconfigv1beta1 "k8s.io/kubelet/config/v1beta1"
|
kubeletconfigv1beta1 "k8s.io/kubelet/config/v1beta1"
|
||||||
@ -509,6 +510,10 @@ func run(s *options.KubeletServer, kubeDeps *kubelet.Dependencies, featureGate f
|
|||||||
klog.Errorf("unable to register KubeletConfiguration with configz, error: %v", err)
|
klog.Errorf("unable to register KubeletConfiguration with configz, error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(s.ShowHiddenMetricsForVersion) > 0 {
|
||||||
|
metrics.SetShowHidden()
|
||||||
|
}
|
||||||
|
|
||||||
// About to get clients and such, detect standaloneMode
|
// About to get clients and such, detect standaloneMode
|
||||||
standaloneMode := true
|
standaloneMode := true
|
||||||
if len(s.KubeConfig) > 0 {
|
if len(s.KubeConfig) > 0 {
|
||||||
|
@ -215,6 +215,7 @@ var (
|
|||||||
"ReservedSystemCPUs",
|
"ReservedSystemCPUs",
|
||||||
"RuntimeRequestTimeout.Duration",
|
"RuntimeRequestTimeout.Duration",
|
||||||
"SerializeImagePulls",
|
"SerializeImagePulls",
|
||||||
|
"ShowHiddenMetricsForVersion",
|
||||||
"StreamingConnectionIdleTimeout.Duration",
|
"StreamingConnectionIdleTimeout.Duration",
|
||||||
"SyncFrequency.Duration",
|
"SyncFrequency.Duration",
|
||||||
"SystemCgroups",
|
"SystemCgroups",
|
||||||
|
@ -335,6 +335,12 @@ type KubeletConfiguration struct {
|
|||||||
// This provide a "static" CPU list rather than the "dynamic" list by system-reserved and kube-reserved.
|
// This provide a "static" CPU list rather than the "dynamic" list by system-reserved and kube-reserved.
|
||||||
// This option overwrites CPUs provided by system-reserved and kube-reserved.
|
// This option overwrites CPUs provided by system-reserved and kube-reserved.
|
||||||
ReservedSystemCPUs string
|
ReservedSystemCPUs string
|
||||||
|
// The previous version for which you want to show hidden metrics.
|
||||||
|
// Only the previous minor version is meaningful, other values will not be allowed.
|
||||||
|
// The format is <major>.<minor>, e.g.: '1.16'.
|
||||||
|
// The purpose of this format is make sure you have the opportunity to notice if the next release hides additional metrics,
|
||||||
|
// rather than being surprised when they are permanently removed in the release after that.
|
||||||
|
ShowHiddenMetricsForVersion string
|
||||||
}
|
}
|
||||||
|
|
||||||
// KubeletAuthorizationMode denotes the authorization mode for the kubelet
|
// KubeletAuthorizationMode denotes the authorization mode for the kubelet
|
||||||
|
@ -327,6 +327,7 @@ func autoConvert_v1beta1_KubeletConfiguration_To_config_KubeletConfiguration(in
|
|||||||
out.SystemReserved = *(*map[string]string)(unsafe.Pointer(&in.SystemReserved))
|
out.SystemReserved = *(*map[string]string)(unsafe.Pointer(&in.SystemReserved))
|
||||||
out.KubeReserved = *(*map[string]string)(unsafe.Pointer(&in.KubeReserved))
|
out.KubeReserved = *(*map[string]string)(unsafe.Pointer(&in.KubeReserved))
|
||||||
out.ReservedSystemCPUs = in.ReservedSystemCPUs
|
out.ReservedSystemCPUs = in.ReservedSystemCPUs
|
||||||
|
out.ShowHiddenMetricsForVersion = in.ShowHiddenMetricsForVersion
|
||||||
out.SystemReservedCgroup = in.SystemReservedCgroup
|
out.SystemReservedCgroup = in.SystemReservedCgroup
|
||||||
out.KubeReservedCgroup = in.KubeReservedCgroup
|
out.KubeReservedCgroup = in.KubeReservedCgroup
|
||||||
out.EnforceNodeAllocatable = *(*[]string)(unsafe.Pointer(&in.EnforceNodeAllocatable))
|
out.EnforceNodeAllocatable = *(*[]string)(unsafe.Pointer(&in.EnforceNodeAllocatable))
|
||||||
@ -464,6 +465,7 @@ func autoConvert_config_KubeletConfiguration_To_v1beta1_KubeletConfiguration(in
|
|||||||
out.KubeReservedCgroup = in.KubeReservedCgroup
|
out.KubeReservedCgroup = in.KubeReservedCgroup
|
||||||
out.EnforceNodeAllocatable = *(*[]string)(unsafe.Pointer(&in.EnforceNodeAllocatable))
|
out.EnforceNodeAllocatable = *(*[]string)(unsafe.Pointer(&in.EnforceNodeAllocatable))
|
||||||
out.ReservedSystemCPUs = in.ReservedSystemCPUs
|
out.ReservedSystemCPUs = in.ReservedSystemCPUs
|
||||||
|
out.ShowHiddenMetricsForVersion = in.ShowHiddenMetricsForVersion
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/errors:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||||
|
"//staging/src/k8s.io/component-base/metrics:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||||
utilvalidation "k8s.io/apimachinery/pkg/util/validation"
|
utilvalidation "k8s.io/apimachinery/pkg/util/validation"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
|
"k8s.io/component-base/metrics"
|
||||||
"k8s.io/kubernetes/pkg/features"
|
"k8s.io/kubernetes/pkg/features"
|
||||||
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
|
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/cm/cpuset"
|
"k8s.io/kubernetes/pkg/kubelet/cm/cpuset"
|
||||||
@ -156,5 +157,6 @@ func ValidateKubeletConfiguration(kc *kubeletconfig.KubeletConfiguration) error
|
|||||||
if err := validateKubeletOSConfiguration(kc); err != nil {
|
if err := validateKubeletOSConfiguration(kc); err != nil {
|
||||||
allErrors = append(allErrors, err)
|
allErrors = append(allErrors, err)
|
||||||
}
|
}
|
||||||
|
allErrors = append(allErrors, metrics.ValidateShowHiddenMetricsVersion(kc.ShowHiddenMetricsForVersion)...)
|
||||||
return utilerrors.NewAggregate(allErrors)
|
return utilerrors.NewAggregate(allErrors)
|
||||||
}
|
}
|
||||||
|
@ -714,6 +714,14 @@ type KubeletConfiguration struct {
|
|||||||
// This provide a "static" CPU list rather than the "dynamic" list by system-reserved and kube-reserved.
|
// This provide a "static" CPU list rather than the "dynamic" list by system-reserved and kube-reserved.
|
||||||
// This option overwrites CPUs provided by system-reserved and kube-reserved.
|
// This option overwrites CPUs provided by system-reserved and kube-reserved.
|
||||||
ReservedSystemCPUs string `json:"reservedSystemCPUs,omitempty"`
|
ReservedSystemCPUs string `json:"reservedSystemCPUs,omitempty"`
|
||||||
|
// The previous version for which you want to show hidden metrics.
|
||||||
|
// Only the previous minor version is meaningful, other values will not be allowed.
|
||||||
|
// The format is <major>.<minor>, e.g.: '1.16'.
|
||||||
|
// The purpose of this format is make sure you have the opportunity to notice if the next release hides additional metrics,
|
||||||
|
// rather than being surprised when they are permanently removed in the release after that.
|
||||||
|
// Default: ""
|
||||||
|
// +optional
|
||||||
|
ShowHiddenMetricsForVersion string `json:"showHiddenMetricsForVersion,omitempty"`
|
||||||
// This flag helps kubelet identify absolute name of top level cgroup used to enforce `SystemReserved` compute resource reservation for OS system daemons.
|
// This flag helps kubelet identify absolute name of top level cgroup used to enforce `SystemReserved` compute resource reservation for OS system daemons.
|
||||||
// Refer to [Node Allocatable](https://git.k8s.io/community/contributors/design-proposals/node/node-allocatable.md) doc for more information.
|
// Refer to [Node Allocatable](https://git.k8s.io/community/contributors/design-proposals/node/node-allocatable.md) doc for more information.
|
||||||
// Dynamic Kubelet Config (beta): This field should not be updated without a full node
|
// Dynamic Kubelet Config (beta): This field should not be updated without a full node
|
||||||
|
Loading…
Reference in New Issue
Block a user