alert: KubeApiCertExpiresSoon
expr: histogram_quantile(0.01, sum by (instance, le) (
rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m])
)) / 86400 < 7
and histogram_quantile(0.01, sum by (instance, le) (
rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m])
)) / 86400 >= 1
for: 10m
severity: warning
Сообщение алерта: Клиентский сертификат kube-apiserver истекает менее чем через 7 дней ({{ $labels.instance }})
Клиентские сертификаты, которыми обращаются к kube-apiserver, истекают менее чем через 7 дней (и не менее чем через 1 день). Метрика apiserver_client_certificate_expiration_seconds доступна не во всех дистрибутивах; правило работает, только если она есть. Значение — оценка по нижним 1% наблюдаемых сертификатов.
Сертификаты не продлевались автоматически (kubeadm не обновил их, истёк срок у kubeconfig-пользователей, сервисных аккаунтов или компонентов).
kubeadm certs check-expiration # для кластеров kubeadm, на control plane
openssl x509 -noout -enddate -in /etc/kubernetes/pki/apiserver.crt
kubectl config view --raw -o jsonpath='{.users[*].user.client-certificate-data}' | base64 -d | openssl x509 -noout -enddate
Для kubeadm: kubeadm certs renew all на каждом control plane узле, затем перезапуск компонентов control plane. В управляемых кластерах (EKS/GKE/AKS и т.п.) сертификатами управляет провайдер — смотрите его документацию.
Если вы уже знаете об истечении и продление запланировано до критического срока.
Весь набор из 44 протестированных правил + Alertmanager → Telegram: 790 ₽
Открыть в Telegram · Бесплатный набор Monitoring Lite · Все алерты runbook