ImageTag 代表镜像流中的单个标签,包括规范、状态历史记录以及提供的标签当前引用的镜像(如果存在)。此类型通过提供标签的完整视图来替换 ImageStreamTag。对于镜像流上存在的每个规范或状态标签,都会返回 ImageTags。如果任何一种形式都不存在标签,则 API 将返回未找到错误。如果尚未定义规范标签并且设置了 spec 字段,则创建操作将成功。删除将从镜像流中删除规范和状态元素。
兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。
ImageTag 代表镜像流中的单个标签,包括规范、状态历史记录以及提供的标签当前引用的镜像(如果存在)。此类型通过提供标签的完整视图来替换 ImageStreamTag。对于镜像流上存在的每个规范或状态标签,都会返回 ImageTags。如果任何一种形式都不存在标签,则 API 将返回未找到错误。如果尚未定义规范标签并且设置了 spec 字段,则创建操作将成功。删除将从镜像流中删除规范和状态元素。
兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。
对象
spec
status
image
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Image 是容器镜像和元数据在特定时间点的不可变表示。镜像的命名是通过对其内容(元数据和内容)进行哈希来完成的,任何格式、内容或元数据的更改都会导致新的名称。images 资源主要供集群管理员和集群镜像注册表之类的集成使用 - 最终用户改为通过 imagestreamtags 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但任何实现容器镜像注册表 API 的集成都必须为原始清单数据、镜像配置和层内容提供其自己的存储。 兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。 |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
TagReference 指定使用此标签的镜像的可选注释以及此标签应跟踪的 ImageStreamTag、ImageStreamImage 或 DockerImage 的可选引用。 |
|
|
NamedTagEventList 将标签与其镜像历史记录关联起来。 |
Image 是容器镜像和元数据在特定时间点的不可变表示。镜像的命名是通过对其内容(元数据和内容)进行哈希来完成的,任何格式、内容或元数据的更改都会导致新的名称。images 资源主要供集群管理员和集群镜像注册表之类的集成使用 - 最终用户改为通过 imagestreamtags 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但任何实现容器镜像注册表 API 的集成都必须为原始清单数据、镜像配置和层内容提供其自己的存储。
兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
DockerImageConfig 是运行时用于设置容器的 JSON 块。这是清单模式 v2 的一部分。当镜像表示清单列表时,将不会设置此值。 |
|
|
DockerImageLayers 表示镜像中的层。如果镜像未定义该数据或镜像表示清单列表,则可能未设置此值。 |
|
|
ImageLayer 代表镜像的单个层。一些镜像可能有多个层。有些可能没有。 |
|
|
DockerImageManifest 是清单的原始 JSON。 |
|
|
DockerImageManifestMediaType 指定清单的媒体类型。这是清单模式 v2 的一部分。 |
|
|
DockerImageManifests 在镜像表示清单列表时保存有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。 |
|
|
ImageManifest 代表清单列表的子清单。Digest 字段指向一个常规的 Image 对象。 |
|
DockerImageMetadata 包含关于此镜像的元数据。 |
|
|
|
DockerImageMetadataVersion 传达对象的版本,如果为空,则默认为“1.0”。 |
|
|
DockerImageReference 是可用于拉取此镜像的字符串。 |
|
|
DockerImageSignatures 以不透明 blob 的形式提供签名。这是清单模式 v1 的一部分。 |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
Signatures 包含镜像的所有签名。 |
|
|
ImageSignature 包含镜像的签名。只要签名受信任,它就可以验证镜像身份以及其他声明。基于此信息,可以将可运行的镜像限制为与集群范围策略匹配的镜像。强制字段应由执行镜像验证的客户端解析。其他字段由服务器从签名的内容中解析。它们仅用于提供信息。 兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。 |
ImageLayer 代表镜像的单个层。一些镜像可能有多个层。有些可能没有。
对象
name
size
mediaType
属性 | 类型 | 描述 |
---|---|---|
|
|
引用的对象的 MediaType。 |
|
|
由底层存储定义的层的名称。 |
|
|
由底层存储定义的层的以字节为单位的大小。 |
DockerImageManifests 在镜像表示清单列表时保存有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。
数组
ImageManifest 代表清单列表的子清单。Digest 字段指向一个常规的 Image 对象。
对象
digest
mediaType
manifestSize
architecture
os
属性 | 类型 | 描述 |
---|---|---|
|
|
Architecture 指定支持的 CPU 架构,例如 |
|
|
Digest 是清单的唯一标识符。它指向一个 Image 对象。 |
|
|
ManifestSize 代表原始对象内容的大小(以字节为单位)。 |
|
|
MediaType 定义清单的类型,可能的值为 application/vnd.oci.image.manifest.v1+json、application/vnd.docker.distribution.manifest.v2+json 或 application/vnd.docker.distribution.manifest.v1+json。 |
|
|
OS 指定操作系统,例如 |
|
|
Variant 是一个可选字段,表示 CPU 的变体,例如 v6 指定 ARM CPU 的特定 CPU 变体。 |
ImageSignature 包含镜像的签名。只要签名受信任,它就可以验证镜像身份以及其他声明。基于此信息,可以将可运行的镜像限制为与集群范围策略匹配的镜像。强制字段应由执行镜像验证的客户端解析。其他字段由服务器从签名的内容中解析。它们仅用于提供信息。
兼容性级别 1:在一个主要版本中稳定至少 12 个月或 3 个次要版本(以较长者为准)。
对象
type
content
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义对象的此表示形式的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Conditions 代表对签名的当前状态的最新可用观察结果。 |
|
|
SignatureCondition 描述特定时间特定类型的镜像签名条件。 |
|
|
必需:不透明的二进制字符串,它是镜像的签名。 |
|
如果指定,则为签名的创建时间。 |
|
|
|
表示镜像身份的可读字符串。它可以是产品名称和版本,或者镜像拉取规范(例如,“registry.access.redhat.com/rhel7/rhel:7.2”)。 |
|
|
SignatureIssuer 包含关于签名证书或密钥发行者的信息。 |
|
|
SignatureSubject 包含关于创建签名的个人或实体的信息。 |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。采用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
metadata 是标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
包含来自签名的声明。 |
|
|
必需:描述存储的 blob 类型。 |
SignatureCondition 描述特定时间特定类型的镜像签名条件。
对象
type
status
属性 | 类型 | 描述 |
---|---|---|
|
最后一次检查条件的时间。 |
|
|
条件从一种状态转换到另一种状态的最后时间。 |
|
|
|
指示上次转换详细信息的可读消息。 |
|
|
条件最后一次转换的(简短)原因。 |
|
|
条件的状态,True、False、Unknown 之一。 |
|
|
签名条件的类型,Complete 或 Failed。 |
SignatureIssuer 包含关于签名证书或密钥发行者的信息。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
通用名称(例如,openshift-signing-service)。 |
|
|
组织名称。 |
SignatureSubject 包含关于创建签名的个人或实体的信息。
对象
publicKeyID
属性 | 类型 | 描述 |
---|---|---|
|
|
通用名称(例如,openshift-signing-service)。 |
|
|
组织名称。 |
|
|
如果存在,则是属于用于验证镜像签名的主题的公钥的可读密钥 ID。它应至少包含公钥指纹的最低 64 位(例如,0x685ebe62bf278440)。 |
TagReference 指定使用此标签的镜像的可选注释以及此标签应跟踪的 ImageStreamTag、ImageStreamImage 或 DockerImage 的可选引用。
对象
name
属性 | 类型 | 描述 |
---|---|---|
|
|
可选;如果指定,则应用于通过 ImageStreamTags 检索的镜像的注释。 |
|
可选;如果指定,则引用此标签应指向的另一个镜像。有效值为 ImageStreamTag、ImageStreamImage 和 DockerImage。ImageStreamTag 引用只能引用此同一 ImageStream 中的标签。 |
|
|
|
Generation 是一个计数器,用于跟踪对 spec 标签(用户意图)的更改。当标签引用更改时,generation 将设置为与当前流 generation(每次更改 spec 时都会递增)匹配。系统中的其他进程(如镜像导入程序)观察到 spec 标签的 generation 比状态中记录的 generation 更新,并将其用作导入最新远程标签的触发器。为了触发新的导入,客户端可以将此值设置为零,这将把 generation 重置为最新的流 generation。旧版客户端会将此值发送为 nil,这将与当前标签 generation 合并。 |
|
|
TagImportPolicy 控制如何导入与此标签相关的镜像。 |
|
|
标签的名称 |
|
|
Reference 指示是否将导入标签。默认值为 false,这意味着将导入标签。 |
|
|
TagReferencePolicy 描述当部署配置或构建中的镜像更改触发器被解析时如何生成此镜像流标签中镜像的 pull-spec。这允许镜像流作者控制如何访问镜像。 |
TagImportPolicy 控制如何导入与此标签相关的镜像。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
ImportMode 描述如何导入镜像清单。 |
|
|
如果服务器可能在镜像导入期间绕过证书验证或直接通过 HTTP 连接,则 Insecure 为 true。 |
|
|
Scheduled 向服务器指示应定期检查此标签以确保其是最新的并已导入。 |
TagReferencePolicy 描述当部署配置或构建中的镜像更改触发器被解析时如何生成此镜像流标签中镜像的 pull-spec。这允许镜像流作者控制如何访问镜像。
对象
type
属性 | 类型 | 描述 |
---|---|---|
|
|
Type 属性决定了当在 Deployment 配置触发器或新构建中使用镜像流标签时,如何转换镜像拉取规范。默认值为 |
NamedTagEventList 将标签与其镜像历史记录关联起来。
对象
标签(tag)
项目(items)
属性 | 类型 | 描述 |
---|---|---|
|
|
Conditions 是应用于标签事件列表的一组条件。 |
|
|
TagEventCondition 包含标签事件的条件信息。 |
|
|
标准对象的元数据。 |
|
|
ImageStreamStatus 使用 TagEvent 来保留与标签关联的镜像的历史记录。 |
|
|
Tag 是记录历史的标签。 |
TagEventCondition 包含标签事件的条件信息。
对象
type
status
generation
属性 | 类型 | 描述 |
---|---|---|
|
|
Generation 是此状态对应的规范标签生成。 |
|
LastTransitionTIme 是条件从一种状态转换到另一种状态的时间。 |
|
|
|
Message 是关于最后一次转换的细节的人类可读描述,补充了 reason。 |
|
|
Reason 是对条件最后一次转换的简短机器可读解释。 |
|
|
条件的状态,True、False、Unknown 之一。 |
|
|
标签事件条件的类型,目前只有 ImportSuccess。 |
提供以下 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。
GET
列出 ImageTag 类型的对象。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 ImageTag 类型的对象。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 ImageTag。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略静默从对象中删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
ImageTag 的名称。 |
DELETE
删除 ImageTag。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 ImageTag。
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 ImageTag。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略静默从对象中删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |
PUT
替换指定的 ImageTag。
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段。 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略静默从对象中删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段以及遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |