ResourcePoolStatusRequest v1alpha3
apiVersion: resource.k8s.io/v1alpha3
import "k8s.io/api/resource/v1alpha3"
ResourcePoolStatusRequest
ResourcePoolStatusRequest запускає одноразовий розрахунок стану пулу ресурсів на основі наданих фільтрів. Після встановлення стану запит вважається завершеним і не буде повторно оброблятися. Користувачі повинні видаляти та створювати запити заново, щоб отримати оновлену інформацію.
apiVersion: resource.k8s.io/v1alpha3
kind: ResourcePoolStatusRequest
metadata (ObjectMeta), обовʼязково
Стандартні метадані обʼєкта
spec (ResourcePoolStatusRequestSpec), обовʼязково
Spec визначає фільтри для включення пулів у стан. Spec є незмінним після створення.
status (ResourcePoolStatusRequestStatus)
Status заповнюється контролером з розрахованим станом пулу. Коли status не є nil, запит вважається завершеним, і весь обʼєкт стає незмінним.
ResourcePoolStatusRequestSpec
ResourcePoolStatusRequestSpec визначає фільтри для запиту стану пулу.
driver (string), обовʼязково
Driver визначає імʼя драйвера DRA для фільтрації пулів. Включатимуться лише пули з ResourceSlices з цим драйвером. Має бути піддоменом DNS (наприклад, "gpu.example.com").
limit (int32)
Limit необовʼязково вказує максимальну кількість пулів для повернення у стані. Якщо більше пулів відповідають критеріям фільтрації, відповідь буде скорочена (тобто len(status.pools) < status.poolCount).
Стандартні значення: 100 Мінімум: 1 Максимум: 1000
poolName (string)
PoolName необовʼязково фільтрує за конкретним імʼям пулу. Якщо не вказано, включаються всі пули з зазначеного драйвера. Коли вказано, імʼя повинно бути непустим дійсним імʼям пулу ресурсів (піддомени DNS, розділені "/").
ResourcePoolStatusRequestStatus
ResourcePoolStatusRequestStatus містить розраховану інформацію про стан пулу.
poolCount (int32), обовʼязково
PoolCount є загальною кількістю пулів, які відповідають критеріям фільтрації, незалежно від усічення. Це допомагає користувачам зрозуміти, скільки пулів існує, навіть коли відповідь усічена. Значення 0 означає, що жоден пул не відповідав критеріям фільтрації.
conditions ([]Condition)
Patch strategy: злиття за ключем
typeMap: унікальні значення за ключем type будуть збережені під час злиття
Conditions надають інформацію про стан запиту. Стан з type=Complete або type=Failed завжди буде встановлений, коли статус заповнений.
Відомі типи станів:
- "Complete": True, коли запит був успішно оброблений
- "Failed": True, коли запит не вдалося обробити
Condition містить деталі щодо одного аспекту поточного стану цього API ресурсу.
conditions.lastTransitionTime (Time), обовʼязково
lastTransitionTime є останнім часом, коли стан перейшов з одного стану в інший. Це має бути тоді, коли змінився основний стан. Якщо це невідомо, тоді можна використовувати час, коли змінилося поле API.
Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.
conditions.message (string), обовʼязково
message є зрозумілим для людини повідомленням, що вказує деталі щодо переходу. Це може бути порожній рядок.
conditions.reason (string), обовʼязково
reason містить програмний ідентифікатор, що вказує причину останнього переходу стану. Виробники конкретних типів станів можуть визначати очікувані значення та значення для цього поля, а також чи вважаються ці значення гарантованим API. Значення повинно бути рядком у CamelCase. Це поле не може бути порожнім.
conditions.status (string), обовʼязково
status — статус стану, одне з True, False, Unknown.
conditions.type (string), обовʼязково
type — тип стану у CamelCase або у foo.example.com/CamelCase.
conditions.observedGeneration (int64)
observedGeneration представляє .metadata.generation, на основі якого було встановлено стан. Наприклад, якщо .metadata.generation наразі 12, але .status.conditions[x].observedGeneration 9, стан застарів щодо поточного стану екземпляра.
pools ([]PoolStatus)
Atomic: буде замінено під час злиття
Pools cмістить перші
spec.limitвідповідні пули, відсортовані за драйвером, а потім за назвою пулу. Якщоlen(pools) \< poolCount, список був усічений. Коли опущено, жоден пул не відповідав фільтрам запиту.PoolStatus містить інформацію про стан одного пулу ресурсів.
pools.driver (string), обовʼязково
Driver — драйвер DRA для цього пулу. Має бути піддоменом DNS (наприклад, "gpu.example.com").
pools.generation (int64), обовʼязково
Generation — покоління пулу, спостережуване серед усіх ResourceSlices у цьому пулі. Повідомляється лише останнє покоління. Під час розгортання покоління, якщо не всі слайси останнього покоління були опубліковані, пул включається з validationError, а поля кількості пристроїв не встановлюються.
pools.poolName (string), обовʼязково
PoolName — назва пулу. Має бути дійсною назвою пулу ресурсів (піддомени DNS, розділені "/").
pools.allocatedDevices (int32)
AllocatedDevices — кількість пристроїв, які наразі виділені для заявок. Значення 0 означає, що жоден пристрій не виділено. Може бути не встановлено, коли встановлено validationError.
pools.availableDevices (int32)
AvailableDevices — кількість пристроїв, доступних для виділення. Це дорівнює TotalDevices - AllocatedDevices - UnavailableDevices. Значення 0 означає, що наразі жоден пристрій не доступний. Може бути не встановлено, коли встановлено validationError.
pools.nodeName (string)
NodeName — вузол, з яким повʼязаний цей пул. Якщо опущено, пул не повʼязаний з конкретним вузлом. Має бути дійсним піддоменом DNS (RFC1123).
pools.resourceSliceCount (int32)
ResourceSliceCount — кількість ResourceSlices, які складають цей пул. Може бути не встановлено, коли встановлено validationError.
pools.totalDevices (int32)
TotalDevices — загальна кількість пристроїв у пулі по всіх слайсах. Значення 0 означає, що пул не має пристроїв. Може бути не встановлено, коли встановлено validationError.
pools.unavailableDevices (int32)
UnavailableDevices — кількість пристроїв, які недоступні через taints або інші умови, але не виділені. Значення 0 означає, що всі невиділені пристрої доступні. Може бути не встановлено, коли встановлено validationError.
pools.validationError (string)
ValidationError — встановлюється, коли дані пулу не можуть бути повністю перевірені (наприклад, неповне публікування слайсу). Коли встановлено, поля кількості пристроїв та ResourceSliceCount можуть бути не встановлені.
ResourcePoolStatusRequestList
ResourcePoolStatusRequestList є колекцією ResourcePoolStatusRequests.
apiVersion: resource.k8s.io/v1alpha3
kind: ResourcePoolStatusRequestList
metadata (ListMeta)
Стандартні метадані списку
items ([]ResourcePoolStatusRequest), обовʼязково
Items є списком ResourcePoolStatusRequests.
Операції
get отримати вказаний ResourcePoolStatusRequest
HTTP запит
GET /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
401: Unauthorized
get отримати статус вказаного ResourcePoolStatusRequest
HTTP запит
GET /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}/status
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
401: Unauthorized
list перелік або перегляд обʼєктів типу ResourcePoolStatusRequest
HTTP запит
GET /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests
Параметри
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
shardSelector (в запиті): string
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (ResourcePoolStatusRequestList): OK
401: Unauthorized
create створення ResourcePoolStatusRequest
HTTP запит
POST /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests
Параметри
body: ResourcePoolStatusRequest, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
201 (ResourcePoolStatusRequest): Created
202 (ResourcePoolStatusRequest): Accepted
401: Unauthorized
update заміна зазначеного ResourcePoolStatusRequest
HTTP запит
PUT /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
body: ResourcePoolStatusRequest, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
201 (ResourcePoolStatusRequest): Created
401: Unauthorized
update заміна статусу зазначеного ResourcePoolStatusRequest
HTTP запит
PUT /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}/status
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
body: ResourcePoolStatusRequest, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
201 (ResourcePoolStatusRequest): Created
401: Unauthorized
patch часткове оновлення зазначеного ResourcePoolStatusRequest
HTTP запит
PATCH /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
201 (ResourcePoolStatusRequest): Created
401: Unauthorized
patch часткове оновлення статусу зазначеного ResourcePoolStatusRequest
HTTP запит
PATCH /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}/status
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
201 (ResourcePoolStatusRequest): Created
401: Unauthorized
delete видалити ResourcePoolStatusRequest
HTTP запит
DELETE /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests/{name}
Параметри
name (в шляху): string, обовʼязково
name — імʼя ResourcePoolStatusRequest
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
pretty (в запиті): string
propagationPolicy (в запиті): string
Відповідь
200 (ResourcePoolStatusRequest): OK
202 (ResourcePoolStatusRequest): Accepted
401: Unauthorized
deletecollection видалити колекцію ResourcePoolStatusRequest
HTTP запит
DELETE /apis/resource.k8s.io/v1alpha3/resourcepoolstatusrequests
Параметри
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
shardSelector (в запиті): string
timeoutSeconds (в запиті): integer
Відповідь
200 (Status): OK
401: Unauthorized