APIService
apiVersion: apiregistration.k8s.io/v1
import "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
APIService
APIService представляє сервер для певної GroupVersion. Імʼя повинно бути "version.group".
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata (ObjectMeta)
Стандартні метадані обʼєкта. Докладніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (APIServiceSpec)
Spec містить інформацію для пошуку та звʼязку з сервером
status (APIServiceStatus)
Status містить похідну інформацію про сервер API
APIServiceSpec
APIServiceSpec містить інформацію для пошуку та звʼязку з сервером. Підтримується лише https, хоча ви можете вимкнути перевірку сертифіката.
groupPriorityMinimum (int32), обовʼязково
GroupPriorityMinimum — це мінімальний пріоритет, який має мати ця група. Вищий пріоритет означає, що група має перевагу для клієнтів над групами з нижчим пріоритетом. Зверніть увагу, що інші версії цієї групи можуть мати ще вищі значення GroupPriorityMinimum, що надає групі вищий пріоритет. Першочергове сортування базується на GroupPriorityMinimum, впорядкованому від найвищого до найнижчого (20 перед 10). Вторинне сортування базується на алфавітному порівнянні імені обʼєкта. (v1.bar перед v1.foo) Ми рекомендуємо щось на зразок: *.k8s.io (за винятком extensions) на 18000, а PaaS (OpenShift, Deis) рекомендується бути у 2000-х.
versionPriority (int32), обовʼязково
VersionPriority контролює впорядкування цієї версії API всередині її групи. Повинно бути більше нуля. Першочергове сортування базується на VersionPriority, впорядкованому від найвищого до найнижчого (20 перед 10). Оскільки це всередині групи, число може бути маленьким, ймовірно, у 10-х. У випадку рівних пріоритетів версій, для визначення порядку всередині групи буде використовуватися рядок версії. Якщо рядок версії "kube-like", він буде сортуватися вище за рядки версій, які не є "kube-like", які впорядковуються лексикографічно. "Kube-like" версії починаються з "v", потім йде число (основна версія), потім за бажанням рядок "alpha" або "beta" і ще одне число (другорядна версія). Ці версії сортуються спочатку за принципом GA > beta > alpha (де GA — це версія без суфікса, такого як beta або alpha), а потім порівнюються основна версія, потім другорядна версія. Приклад відсортованого списку версій: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
caBundle ([]byte)
Atomic: буде замінено під час злиття
CABundle — це PEM закодований набір сертифікатів CA, який буде використовуватися для перевірки сертифіката сервера API. Якщо не вказано, використовуються системні довірені корені на сервері API.
group (string)
Group — це назва групи API, яку хостить цей сервер
insecureSkipTLSVerify (boolean)
InsecureSkipTLSVerify вимикає перевірку сертифіката TLS при звʼязку з цим сервером. Це категорично не рекомендується. Вам слід використовувати CABundle замість цього.
service (ServiceReference)
Service — це посилання на сервіс для цього сервера API. Воно повинно спілкуватись на порту 443. Якщо Service дорівнює nil, це означає, що обробка для версії API групи виконується локально на цьому сервері. Виклик просто делегується звичайному ланцюгу обробки для виконання.
ServiceReference утримує посилання на Service.legacy.k8s.io
service.name (string)
Name — це імʼя сервісу
service.namespace (string)
Namespace — це простір імен сервісу
service.port (int32)
Якщо вказано, порт сервісу, який хостить webhook. Стандартно — 443 для зворотної сумісності.
port
повинен бути допустимим номером порту (1-65535 включно).
version (string)
Version — це версія API, яку хостить цей сервер. Наприклад, "v1"
APIServiceStatus
APIServiceStatus містить похідну інформацію про сервер API
conditions ([]APIServiceCondition)
Patch strategy: злиття за ключем
type
Map: унікальні значення за ключем type будуть збережені під час злиття
Поточний стан сервісу apiService.
APIServiceCondition описує стан APIService у певний момент часу
conditions.status (string), обовʼязково
Status — це стан статусу. Може бути True, False, Unknown.
conditions.type (string), обовʼязково
Type — це тип статусу.
conditions.lastTransitionTime (Time)
Останній раз, коли стан статусу змінився з одного на інший.
Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.
conditions.message (string)
Повідомлення, зрозуміле людині, що вказує деталі про останню зміну статусу.
conditions.reason (string)
Унікальна, однослівна, CamelCase причина останньої зміни статусу.
APIServiceList
APIServiceList — це список обʼєктів APIService.
apiVersion: apiregistration.k8s.io/v1
kind: APIServiceList
metadata (ListMeta)
Стандартні метадані списку. Докладніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]APIService), обовʼязково
Items — це список APIService
Операції
get
отримати вказаний APIService
HTTP запит
GET /apis/apiregistration.k8s.io/v1/apiservices/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
pretty (в запиті): string
Відповідь
200 (APIService): OK
401: Unauthorized
get
отримати статус вказаного APIService
HTTP запит
GET /apis/apiregistration.k8s.io/v1/apiservices/{name}/status
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
pretty (в запиті): string
Відповідь
200 (APIService): OK
401: Unauthorized
list
перелік або перегляд обʼєктів типу APIService
HTTP запит
GET /apis/apiregistration.k8s.io/v1/apiservices
Параметри
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (APIServiceList): OK
401: Unauthorized
create
створення APIService
HTTP запит
POST /apis/apiregistration.k8s.io/v1/apiservices
Параметри
body: APIService, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (APIService): OK
201 (APIService): Created
202 (APIService): Accepted
401: Unauthorized
update
заміна вказаного APIService
HTTP запит
PUT /apis/apiregistration.k8s.io/v1/apiservices/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
body: APIService, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (APIService): OK
201 (APIService): Created
401: Unauthorized
update
заміна статусу вказаного APIService
HTTP запит
PUT /apis/apiregistration.k8s.io/v1/apiservices/{name}/status
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
body: APIService, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (APIService): OK
201 (APIService): Created
401: Unauthorized
patch
часткове оновлення вказаного APIService
HTTP запит
PATCH /apis/apiregistration.k8s.io/v1/apiservices/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (APIService): OK
201 (APIService): Created
401: Unauthorized
patch
чатскове оновлення статусу вказаного APIService
HTTP запит
PATCH /apis/apiregistration.k8s.io/v1/apiservices/{name}/status
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (APIService): OK
201 (APIService): Created
401: Unauthorized
delete
видаленя APIService
HTTP запит
DELETE /apis/apiregistration.k8s.io/v1/apiservices/{name}
Параметри
name (в шляху): string, обовʼязково
імʼя APIService
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
Відповідь
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
видаленя колекції APIService
HTTP запит
DELETE /apis/apiregistration.k8s.io/v1/apiservices
Параметри
body: DeleteOptions
continue (в запиті): string
dryRun (в запиті): string
fieldSelector (в запиті): string
gracePeriodSeconds (в запиті): integer
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
Відповідь
200 (Status): OK
401: Unauthorized