×
描述

ImageTag 代表镜像流中的单个标签,包括规范、状态历史记录以及提供的标签当前引用的镜像(如果存在)。此类型通过提供标签的完整视图来替换 ImageStreamTag。对于镜像流上存在的每个规范或状态标签,都会返回 ImageTags。如果任何一种形式都不存在标签,则 API 将返回未找到错误。如果尚未定义规范标签并且设置了 spec 字段,则创建操作将成功。删除将从镜像流中删除规范和状态元素。

兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。

类型

对象

必需
  • spec

  • status

  • image

规格

属性 类型 描述

apiVersion

字符串

APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

image

对象

Image 是容器镜像和元数据在特定时间点的不可变表示。镜像的命名是通过对其内容(元数据和内容)进行哈希来完成的,任何格式、内容或元数据的更改都会导致新的名称。images 资源主要供集群管理员和集群镜像注册表之类的集成使用 - 最终用户改为通过 imagestreamtags 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但任何实现容器镜像注册表 API 的集成都必须为原始清单数据、镜像配置和层内容提供其自己的存储。

兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta_v2

metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

TagReference 指定使用此标签的镜像的可选注释以及此标签应跟踪的 ImageStreamTag、ImageStreamImage 或 DockerImage 的可选引用。

status

对象

NamedTagEventList 将标签与其镜像历史记录关联起来。

.image

描述

Image 是容器镜像和元数据在特定时间点的不可变表示。镜像的命名是通过对其内容(元数据和内容)进行哈希来完成的,任何格式、内容或元数据的更改都会导致新的名称。images 资源主要供集群管理员和集群镜像注册表之类的集成使用 - 最终用户改为通过 imagestreamtags 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但任何实现容器镜像注册表 API 的集成都必须为原始清单数据、镜像配置和层内容提供其自己的存储。

兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。

类型

对象

属性 类型 描述

apiVersion

字符串

APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

dockerImageConfig

字符串

DockerImageConfig 是运行时用于设置容器的 JSON 块。这是清单模式 v2 的一部分。当镜像表示清单列表时,将不会设置此值。

dockerImageLayers

数组

DockerImageLayers 表示镜像中的层。如果镜像未定义该数据或镜像表示清单列表,则可能未设置此值。

dockerImageLayers[]

对象

ImageLayer 代表镜像的单个层。一些镜像可能有多个层。有些可能没有。

dockerImageManifest

字符串

DockerImageManifest 是清单的原始 JSON。

dockerImageManifestMediaType

字符串

DockerImageManifestMediaType 指定清单的媒体类型。这是清单模式 v2 的一部分。

dockerImageManifests

数组

DockerImageManifests 在镜像表示清单列表时保存有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。

dockerImageManifests[]

对象

ImageManifest 代表清单列表的子清单。Digest 字段指向一个常规的 Image 对象。

dockerImageMetadata

RawExtension

DockerImageMetadata 包含关于此镜像的元数据。

dockerImageMetadataVersion

字符串

DockerImageMetadataVersion 传达对象的版本,如果为空,则默认为“1.0”。

dockerImageReference

字符串

DockerImageReference 是可用于拉取此镜像的字符串。

dockerImageSignatures

数组 (字符串)

DockerImageSignatures 以不透明 blob 的形式提供签名。这是清单模式 v1 的一部分。

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta_v2

metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

signatures

数组

Signatures 包含镜像的所有签名。

signatures[]

对象

ImageSignature 包含镜像的签名。只要签名受信任,它就可以验证镜像身份以及其他声明。基于此信息,可以将可运行的镜像限制为与集群范围策略匹配的镜像。强制字段应由执行镜像验证的客户端解析。其他字段由服务器从签名的内容中解析。它们仅用于提供信息。

兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。

.image.dockerImageLayers

描述

DockerImageLayers 表示镜像中的层。如果镜像未定义该数据或镜像表示清单列表,则可能未设置此值。

类型

数组

.image.dockerImageLayers[]

描述

ImageLayer 代表镜像的单个层。一些镜像可能有多个层。有些可能没有。

类型

对象

必需
  • name

  • size

  • mediaType

属性 类型 描述

mediaType

字符串

引用的对象的 MediaType。

name

字符串

由底层存储定义的层的名称。

size

整数

由底层存储定义的层的以字节为单位的大小。

.image.dockerImageManifests

描述

DockerImageManifests 在镜像表示清单列表时保存有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。

类型

数组

.image.dockerImageManifests[]

描述

ImageManifest 代表清单列表的子清单。Digest 字段指向一个常规的 Image 对象。

类型

对象

必需
  • digest

  • mediaType

  • manifestSize

  • architecture

  • os

属性 类型 描述

architecture

字符串

Architecture 指定支持的 CPU 架构,例如 amd64ppc64le

digest

字符串

Digest 是清单的唯一标识符。它指向一个 Image 对象。

manifestSize

整数

ManifestSize 代表原始对象内容的大小(以字节为单位)。

mediaType

字符串

MediaType 定义清单的类型,可能的值为 application/vnd.oci.image.manifest.v1+json、application/vnd.docker.distribution.manifest.v2+json 或 application/vnd.docker.distribution.manifest.v1+json。

os

字符串

OS 指定操作系统,例如 linux

variant

字符串

Variant 是一个可选字段,表示 CPU 的变体,例如 v6 指定 ARM CPU 的特定 CPU 变体。

.image.signatures

描述

Signatures 包含镜像的所有签名。

类型

数组

.image.signatures[]

描述

ImageSignature 包含镜像的签名。只要签名受信任,它就可以验证镜像身份以及其他声明。基于此信息,可以将可运行的镜像限制为与集群范围策略匹配的镜像。强制字段应由执行镜像验证的客户端解析。其他字段由服务器从签名的内容中解析。它们仅用于提供信息。

兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。

类型

对象

必需
  • type

  • content

属性 类型 描述

apiVersion

字符串

APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

conditions

数组

Conditions 代表对签名的当前状态的最新可用观察结果。

conditions[]

对象

SignatureCondition 描述特定时间特定类型的镜像签名条件。

content

字符串

必需:不透明的二进制字符串,它是镜像的签名。

created

时间

如果指定,则为签名的创建时间。

imageIdentity

字符串

表示镜像身份的可读字符串。它可以是产品名称和版本,或者镜像拉取规范(例如,“registry.access.redhat.com/rhel7/rhel:7.2”)。

issuedBy

对象

SignatureIssuer 包含关于签名证书或密钥发行者的信息。

issuedTo

对象

SignatureSubject 包含关于创建签名的个人或实体的信息。

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta_v2

metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

signedClaims

对象 (字符串)

包含来自签名的声明。

type

字符串

必需:描述存储的 blob 类型。

.image.signatures[].conditions

描述

Conditions 代表对签名的当前状态的最新可用观察结果。

类型

数组

.image.signatures[].conditions[]

描述

SignatureCondition 描述特定时间特定类型的镜像签名条件。

类型

对象

必需
  • type

  • status

属性 类型 描述

lastProbeTime

时间

最后一次检查条件的时间。

lastTransitionTime

时间

条件从一种状态转换到另一种状态的最后时间。

message

字符串

指示上次转换详细信息的可读消息。

reason

字符串

条件最后一次转换的(简短)原因。

status

字符串

条件的状态,True、False、Unknown 之一。

type

字符串

签名条件的类型,Complete 或 Failed。

.image.signatures[].issuedBy

描述

SignatureIssuer 包含关于签名证书或密钥发行者的信息。

类型

对象

属性 类型 描述

commonName

字符串

通用名称(例如,openshift-signing-service)。

organization

字符串

组织名称。

.image.signatures[].issuedTo

描述

SignatureSubject 包含关于创建签名的个人或实体的信息。

类型

对象

必需
  • publicKeyID

属性 类型 描述

commonName

字符串

通用名称(例如,openshift-signing-service)。

organization

字符串

组织名称。

publicKeyID

字符串

如果存在,则是属于用于验证镜像签名的主题的公钥的可读密钥 ID。它应至少包含公钥指纹的最低 64 位(例如,0x685ebe62bf278440)。

.spec

描述

TagReference 指定使用此标签的镜像的可选注释以及此标签应跟踪的 ImageStreamTag、ImageStreamImage 或 DockerImage 的可选引用。

类型

对象

必需
  • name

属性 类型 描述

annotations

对象 (字符串)

可选;如果指定,则应用于通过 ImageStreamTags 检索的镜像的注释。

from

ObjectReference

可选;如果指定,则引用此标签应指向的另一个镜像。有效值为 ImageStreamTag、ImageStreamImage 和 DockerImage。ImageStreamTag 引用只能引用此同一 ImageStream 中的标签。

generation

整数

Generation 是一个计数器,用于跟踪对 spec 标签(用户意图)的更改。当标签引用更改时,generation 将设置为与当前流 generation(每次更改 spec 时都会递增)匹配。系统中的其他进程(如镜像导入程序)观察到 spec 标签的 generation 比状态中记录的 generation 更新,并将其用作导入最新远程标签的触发器。为了触发新的导入,客户端可以将此值设置为零,这将把 generation 重置为最新的流 generation。旧版客户端会将此值发送为 nil,这将与当前标签 generation 合并。

importPolicy

对象

TagImportPolicy 控制如何导入与此标签相关的镜像。

name

字符串

标签的名称

reference

布尔值

Reference 指示是否将导入标签。默认值为 false,这意味着将导入标签。

referencePolicy

对象

TagReferencePolicy 描述当部署配置或构建中的镜像更改触发器被解析时如何生成此镜像流标签中镜像的 pull-spec。这允许镜像流作者控制如何访问镜像。

.spec.importPolicy

描述

TagImportPolicy 控制如何导入与此标签相关的镜像。

类型

对象

属性 类型 描述

importMode

字符串

ImportMode 描述如何导入镜像清单。

insecure

布尔值

如果服务器可能在镜像导入期间绕过证书验证或直接通过 HTTP 连接,则 Insecure 为 true。

scheduled

布尔值

Scheduled 向服务器指示应定期检查此标签以确保其是最新的并已导入。

.spec.referencePolicy

描述

TagReferencePolicy 描述当部署配置或构建中的镜像更改触发器被解析时如何生成此镜像流标签中镜像的 pull-spec。这允许镜像流作者控制如何访问镜像。

类型

对象

必需
  • type

属性 类型 描述

type

字符串

Type 属性决定了当在 Deployment 配置触发器或新构建中使用镜像流标签时,如何转换镜像拉取规范。默认值为Source,表示应使用镜像的原始位置(如果已导入)。用户也可以指定Local,表示拉取规范应指向集成的容器镜像注册表,并利用注册表将拉取代理到上游注册表的能力。Local 允许从镜像流的命名空间管理用于拉取此镜像的凭据,因此平台上的其他用户可以访问远程镜像,但无法访问远程密钥。它还允许将镜像层镜像到本地注册表,即使上游注册表不可用,也可以拉取镜像。

.status

描述

NamedTagEventList 将标签与其镜像历史记录关联起来。

类型

对象

必需
  • 标签(tag)

  • 项目(items)

属性 类型 描述

conditions

数组

Conditions 是应用于标签事件列表的一组条件。

conditions[]

对象

TagEventCondition 包含标签事件的条件信息。

项目(items)

数组

标准对象的元数据。

items[]

对象

ImageStreamStatus 使用 TagEvent 来保留与标签关联的镜像的历史记录。

标签(tag)

字符串

Tag 是记录历史的标签。

.status.conditions

描述

Conditions 是应用于标签事件列表的一组条件。

类型

数组

.status.conditions[]

描述

TagEventCondition 包含标签事件的条件信息。

类型

对象

必需
  • type

  • status

  • generation

属性 类型 描述

generation

整数

Generation 是此状态对应的规范标签生成。

lastTransitionTime

时间

LastTransitionTIme 是条件从一种状态转换到另一种状态的时间。

message

字符串

Message 是关于最后一次转换的细节的人类可读描述,补充了 reason。

reason

字符串

Reason 是对条件最后一次转换的简短机器可读解释。

status

字符串

条件的状态,True、False、Unknown 之一。

type

字符串

标签事件条件的类型,目前只有 ImportSuccess。

.status.items

描述

标准对象的元数据。

类型

数组

.status.items[]

描述

ImageStreamStatus 使用 TagEvent 来保留与标签关联的镜像的历史记录。

类型

对象

必需
  • created

  • dockerImageReference

  • image

  • generation

属性 类型 描述

created

时间

Created 保存 TagEvent 创建的时间。

dockerImageReference

字符串

DockerImageReference 是可用于拉取此镜像的字符串。

generation

整数

Generation 是导致此标签更新的规范标签生成。

image

字符串

Image 是镜像。

API 端点

提供以下 API 端点:

  • /apis/image.openshift.io/v1/imagetags

    • GET:列出 ImageTag 类型的对象。

  • /apis/image.openshift.io/v1/namespaces/{namespace}/imagetags

    • GET:列出 ImageTag 类型的对象。

    • POST:创建 ImageTag。

  • /apis/image.openshift.io/v1/namespaces/{namespace}/imagetags/{name}

    • DELETE:删除 ImageTag。

    • GET:读取指定的 ImageTag。

    • PATCH:部分更新指定的 ImageTag。

    • PUT:替换指定的 ImageTag。

/apis/image.openshift.io/v1/imagetags

HTTP 方法

GET

描述

列出 ImageTag 类型的对象。

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

ImageTagList 模式

401 - 未授权

/apis/image.openshift.io/v1/namespaces/{namespace}/imagetags

HTTP 方法

GET

描述

列出 ImageTag 类型的对象。

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

ImageTagList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 ImageTag。

表 3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略静默从对象中删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 4. 请求体参数
参数 类型 描述

body

ImageTag 模式

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

ImageTag 模式

201 - 已创建

ImageTag 模式

202 - 已接受

ImageTag 模式

401 - 未授权

/apis/image.openshift.io/v1/namespaces/{namespace}/imagetags/{name}

表 6. 全局路径参数
参数 类型 描述

name

字符串

ImageTag 的名称。

HTTP 方法

DELETE

描述

删除 ImageTag。

表 7. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Status_v5 模式

202 - 已接受

Status_v5 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 ImageTag。

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

ImageTag 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 ImageTag。

表 10. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略静默从对象中删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

ImageTag 模式

201 - 已创建

ImageTag 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 ImageTag。

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略静默从对象中删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 13. 请求体参数
参数 类型 描述

body

ImageTag 模式

表 14. HTTP 响应
HTTP 代码 响应体

200 - OK

ImageTag 模式

201 - 已创建

ImageTag 模式

401 - 未授权