apiVersion: certificates.k8s.io/v1beta1
import "k8s.io/api/certificates/v1beta1"
ClusterTrustBundle — це кластерний контейнер для довірчих якорів X.509 (кореневих сертифікатів).
Обʼєкти ClusterTrustBundle вважаються доступними для читання будь-яким автентифікованим користувачем у кластері, оскільки їх можна монтувати в Pod за допомогою проєкції clusterTrustBundle. Усі службові облікові записи типово мають доступ на читання ClusterTrustBundles. Користувачі, які мають доступ лише на рівні простору імен у кластері, можуть читати ClusterTrustBundles, використовуючи serviceaccount, до якого вони мають доступ.
Він може бути опціонально повʼязаний з певним підписувачем, у такому випадку він містить один дійсний набір довірчих якорів для цього підписувача. Підписувачі можуть мати кілька повʼязаних ClusterTrustBundles; кожен з них є незалежним набором довірчих якорів для цього підписувача. Контроль доступу використовується для забезпечення того, що лише користувачі з правами підписувача можуть створювати або змінювати відповідний набір.
apiVersion: certificates.k8s.io/v1beta1
kind: ClusterTrustBundle
metadata (ObjectMeta)
metadata містить метадані обʼєкта.
spec (ClusterTrustBundleSpec), обовʼязково
spec містить підписувача (якщо є) та довірчі якорі.
ClusterTrustBundleSpec містить інформацію про підписувача та довірчі якорі.
trustBundle (string), обовʼязково
trustBundle містить окремі довірчі якорі X.509 для цього набору, у вигляді PEM-пакета PEM-обгорток, DER-форматованих сертифікатів X.509.
Дані повинні складатися лише з PEM-блоків сертифікатів, які розпізнаються як дійсні сертифікати X.509. Кожен сертифікат повинен містити розширення базових обмежень з встановленою позначкою CA. Сервер API відхилить обʼєкти, що містять дублюючі сертифікати або використовують заголовки блоків PEM.
Користувачі ClusterTrustBundle, включаючи Kubelet, вільні переупорядковувати та видаляти дублікати блоків сертифікатів у цьому файлі за власною логікою, а також видаляти заголовки блоків PEM та міжблокові дані.
signerName (string)
signerName вказує повʼязаного підписувача, якщо такий є.
Щоб створити або оновити ClusterTrustBundle з встановленим signerName, вам потрібно мати наступні дозволи на рівні кластера: group=certificates.k8s.io resource=signers resourceName=<імʼя підписувача> verb=attest.
Якщо signerName не порожній, тоді обʼєкт ClusterTrustBundle повинен мати імʼя, що починається з імені підписувача як префікс (перекладаючи косі на двокрапки). Наприклад, для імені підписувача example.com/foo, допустимі імена обʼєктів ClusterTrustBundle включають example.com:foo:abc та example.com:foo:v1.
Якщо signerName порожній, тоді імʼя обʼєкта ClusterTrustBundle не повинно мати такого префікса.
Запити на список/перегляд ClusterTrustBundle можуть фільтрувати за цим полем, використовуючи селектор поля spec.signerName=NAME.
ClusterTrustBundleList — це колекція обʼєктів ClusterTrustBundle.
apiVersion: certificates.k8s.io/v1beta1
kind: ClusterTrustBundleList
metadata (ListMeta)
metadata містить метадані списку.
items ([]ClusterTrustBundle), обовʼязково
items — це колекція обʼєктів ClusterTrustBundle.
get отримати вказаний ClusterTrustBundleGET /apis/certificates.k8s.io/v1beta1/clustertrustbundles/{name}
name (в шляху): string, обовʼязково
name of the ClusterTrustBundle
pretty (в запиті): string
200 (ClusterTrustBundle): OK
401: Unauthorized
list перелік або перегляд обʼєктів типу ClusterTrustBundleGET /apis/certificates.k8s.io/v1beta1/clustertrustbundles
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
200 (ClusterTrustBundleList): OK
401: Unauthorized
create створення ClusterTrustBundlePOST /apis/certificates.k8s.io/v1beta1/clustertrustbundles
body: ClusterTrustBundle, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
200 (ClusterTrustBundle): OK
201 (ClusterTrustBundle): Created
202 (ClusterTrustBundle): Accepted
401: Unauthorized
update заміна вказаного ClusterTrustBundlePUT /apis/certificates.k8s.io/v1beta1/clustertrustbundles/{name}
name (в шляху): string, обовʼязково
name of the ClusterTrustBundle
body: ClusterTrustBundle, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
200 (ClusterTrustBundle): OK
201 (ClusterTrustBundle): Created
401: Unauthorized
patch часткове оновлення вказаного ClusterTrustBundlePATCH /apis/certificates.k8s.io/v1beta1/clustertrustbundles/{name}
name (в шляху): string, обовʼязково
name of the ClusterTrustBundle
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
200 (ClusterTrustBundle): OK
201 (ClusterTrustBundle): Created
401: Unauthorized
delete видалення ClusterTrustBundleDELETE /apis/certificates.k8s.io/v1beta1/clustertrustbundles/{name}
name (в шляху): string, обовʼязково
name of the ClusterTrustBundle
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
pretty (в запиті): string
propagationPolicy (в запиті): string
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection видалення колекції ClusterTrustBundleDELETE /apis/certificates.k8s.io/v1beta1/clustertrustbundles
body: DeleteOptions
continue (в запиті): string
dryRun (в запиті): string
fieldSelector (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
200 (Status): OK
401: Unauthorized