DeviceClass — это ресурс, предоставляемый поставщиком или администратором, который содержит конфигурацию устройств и селекторы. На него можно ссылаться в запросах устройств объекта claim, чтобы применить эти предустановки. Область действия — кластер.
DeviceTaintRule добавляет одно загрязнение ко всем устройствам, соответствующим селектору. Это имеет тот же эффект, как если бы загрязнение было указано непосредственно в ResourceSlice драйвером DRA.
ResourceClaim описывает запрос на доступ к ресурсам в кластере для использования рабочими нагрузками. Например, если рабочей нагрузке требуется устройство-ускоритель с определёнными свойствами, такой запрос выражается именно этим объектом. Раздел status отслеживает, выполнен ли этот запрос и какие именно ресурсы были выделены.
ResourceClaimTemplate используется для создания объектов ResourceClaim.
ResourcePoolStatusRequest запускает однократный расчёт состояния пула ресурсов на основе указанных фильтров. После установки состояния запрос считается выполненным и повторно обрабатываться не будет. Чтобы получить обновлённые сведения, пользователям следует удалить запрос и создать его заново.
ResourceSlice представляет один или несколько ресурсов в пуле схожих ресурсов, управляемом общим драйвером. Пул может охватывать несколько ResourceSlice, а количество ResourceSlice в пуле определяется драйвером.
На данный момент поддерживаются только устройства с атрибутами и ёмкостями. Каждое устройство в заданном пуле, независимо от количества ResourceSlice, должно иметь уникальное имя. Со временем ResourceSlice, в котором публикуется устройство, может измениться. Уникальный идентификатор устройства — это кортеж <имя драйвера>, <имя пула>, <имя устройства>.
Когда драйверу необходимо обновить пул, он увеличивает номер pool.Spec.Pool.Generation и обновляет все ResourceSlice, указывая в них этот новый номер и новые определения ресурсов. Потребитель должен использовать только ResourceSlice с наибольшим номером поколения и игнорировать все остальные.
При выделении всех ресурсов в пуле, соответствующих определённым критериям, или при поиске наилучшего решения среди нескольких альтернатив потребителю следует проверить количество ResourceSlice в пуле (оно указано в каждом ResourceSlice), чтобы определить, является ли его представление пула полным. Если нет, следует дождаться завершения обновления пула драйвером.
Для ресурсов, не привязанных к узлу, имя узла не указывается. Вместо этого драйвер может использовать селектор узлов, чтобы указать, где доступны устройства.