Skip to content

Commit 3e817d1

Browse files
committed
Updated usage of certificate.Manager to use new rotation metric
1 parent 7adb181 commit 3e817d1

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

pkg/kubelet/certificate/kubelet.go

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
"sort"
2626

2727
certificates "k8s.io/api/certificates/v1beta1"
28-
"k8s.io/api/core/v1"
28+
v1 "k8s.io/api/core/v1"
2929
"k8s.io/apimachinery/pkg/types"
3030
clientset "k8s.io/client-go/kubernetes"
3131
certificatesclient "k8s.io/client-go/kubernetes/typed/certificates/v1beta1"
@@ -52,17 +52,38 @@ func NewKubeletServerCertificateManager(kubeClient clientset.Interface, kubeCfg
5252
if err != nil {
5353
return nil, fmt.Errorf("failed to initialize server certificate store: %v", err)
5454
}
55-
var certificateExpiration = compbasemetrics.NewGauge(
55+
certificateExpiration := compbasemetrics.NewGauge(
5656
&compbasemetrics.GaugeOpts{
57-
Namespace: metrics.KubeletSubsystem,
58-
Subsystem: "certificate_manager",
59-
Name: "server_expiration_seconds",
57+
Subsystem: metrics.KubeletSubsystem,
58+
Name: "certificate_manager_server_expiration_seconds",
6059
Help: "Gauge of the lifetime of a certificate. The value is the date the certificate will expire in seconds since January 1, 1970 UTC.",
6160
StabilityLevel: compbasemetrics.ALPHA,
6261
},
6362
)
6463
legacyregistry.MustRegister(certificateExpiration)
6564

65+
certificateRotationAge := compbasemetrics.NewHistogram(
66+
&compbasemetrics.HistogramOpts{
67+
Subsystem: metrics.KubeletSubsystem,
68+
Name: "certificate_manager_server_rotation_seconds",
69+
Help: "Histogram of the number of seconds the previous certificate lived before being rotated.",
70+
Buckets: []float64{
71+
60, // 1 minute
72+
3600, // 1 hour
73+
14400, // 4 hours
74+
86400, // 1 day
75+
604800, // 1 week
76+
2592000, // 1 month
77+
7776000, // 3 months
78+
15552000, // 6 months
79+
31104000, // 1 year
80+
124416000, // 4 years
81+
},
82+
StabilityLevel: compbasemetrics.ALPHA,
83+
},
84+
)
85+
legacyregistry.MustRegister(certificateRotationAge)
86+
6687
getTemplate := func() *x509.CertificateRequest {
6788
hostnames, ips := addressesToHostnamesAndIPs(getAddresses())
6889
// don't return a template if we have no addresses to request for
@@ -100,6 +121,7 @@ func NewKubeletServerCertificateManager(kubeClient clientset.Interface, kubeCfg
100121
},
101122
CertificateStore: certificateStore,
102123
CertificateExpiration: certificateExpiration,
124+
CertificateRotation: certificateRotationAge,
103125
})
104126
if err != nil {
105127
return nil, fmt.Errorf("failed to initialize server certificate manager: %v", err)

0 commit comments

Comments
 (0)