Обʼєкт CertificateSigningRequest надає механізм отримання x509 сертифікатів шляхом подання запиту на підписання сертифіката та його асинхронного затвердження та видачі.
Kubelets використовують цей API для отримання:
- клієнтських сертифікатів для автентифікації в kube-apiserver (з використанням signerName "kubernetes.io/kube-apiserver-client-kubelet").
- сертифікатів для TLS точок доступу, до яких kube-apiserver може підключатися безпечно (з використанням signerName "kubernetes.io/kubelet-serving").
Цей API можна використовувати для запиту клієнтських сертифікатів для автентифікації в kube-apiserver (з використанням signerName "kubernetes.io/kube-apiserver-client"), або для отримання сертифікатів від власних не-Kubernetes підписувачів.
ClusterTrustBundle — це контейнер на рівні кластера для анкерів довіри X.509 (кореневих сертифікатів).
Обʼєкти ClusterTrustBundle вважаються доступними для читання будь-яким автентифікованим користувачем у кластері, оскільки їх можна підключити до подів за допомогою проєкції clusterTrustBundle. Усі службові облікові записи зазвичай мають доступ на читання ClusterTrustBundles. Користувачі, які мають доступ до кластера лише на рівні простору імен, можуть читати ClusterTrustBundles, імітуючи службовий обліковий запис, до якого вони мають доступ.
Він може бути опціонально повʼязаний з конкретним підписувачем, і в цьому випадку він містить один дійсний набір анкерів довіри для цього підписувача. Підписувачі можуть мати кілька повʼязаних ClusterTrustBundles; кожен з них є незалежним набором анкерів довіри для цього підписувача. Контроль доступу використовується для забезпечення того, щоб тільки користувачі з дозволами підписувача могли створювати або модифікувати відповідний пакет.
PodCertificateRequest кодує pod, який запитує сертифікат у заданого підписувача.
Kubelets використовують цей API для реалізації проєкцій томів podCertificate