第 9 章 ImageStreamTag [image.openshift.io/v1]
- 描述
ImageStreamTag 代表通过 ImageStream 中的标签名称检索的镜像。使用此资源通过标签与镜像流中的标签和镜像交互,或者查看特定标签的镜像详情。与此资源关联的镜像是最近成功标记、导入或推送的镜像(如此标签的镜像流 status.tags.items 列表中所述)。如果导入正在进行或者失败了上一个镜像,则会显示上一个镜像。删除镜像流标签可清除镜像流的 status 和 spec 字段。如果没有为给定标签检索镜像,则返回 not found 错误。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
tag
-
generation
-
lookupPolicy
-
image
-
9.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| conditions 是应用于镜像流标签的一组条件。 |
|
| TagEventCondition 包含标签事件的条件信息。 |
|
| generation 是当前标记的镜像的生成 - 如果提供了标签,并且这个值不等于标签生成,用户已请求了一个未完成的导入,否则将填写条件表示任何错误。 |
|
| 镜像是容器镜像和元数据在时间点上的不可变表示。镜像通过获取其内容的哈希值(元数据和内容),格式、内容或元数据的任何更改都会生成新名称。images 资源主要供集群管理员使用,并像集群镜像 registry - 最终用户一样集成,而是通过 imagestreamtag 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但实施容器镜像 registry API 的任何集成都必须为原始清单数据、镜像配置和层内容提供自己的存储。 兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| ImageLookupPolicy 描述了如何使用镜像流来覆盖命名空间中 pod、构建和其他资源所使用的镜像引用。 |
| ||
|
| TagReference 指定镜像的可选注解,以及对 ImageStreamTag、ImageStreamImage 或 DockerImage 此标签应跟踪的可选引用。 |
9.1.1. .conditions
- 描述
- conditions 是应用于镜像流标签的一组条件。
- 类型
-
array
9.1.2. .conditions[]
- 描述
- TagEventCondition 包含标签事件的条件信息。
- 类型
-
object
- 必填
-
type
-
status
-
generation
-
属性 | 类型 | 描述 |
---|---|---|
|
| generation 是此状态对应于的 spec 标签生成 |
| lastTransitionTime 是条件从一个状态转换到另一个状态的时间。 | |
|
| Message 是有关最后一次转换和补充原因的详细信息的人类可读描述。 |
|
| 原因是对条件最后一次转换的简短机器可读说明。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 标签事件条件类型,目前仅 ImportSuccess |
9.1.3. .image
- 描述
镜像是容器镜像和元数据在时间点上的不可变表示。镜像通过获取其内容的哈希值(元数据和内容),格式、内容或元数据的任何更改都会生成新名称。images 资源主要供集群管理员使用,并像集群镜像 registry - 最终用户一样集成,而是通过 imagestreamtag 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但实施容器镜像 registry API 的任何集成都必须为原始清单数据、镜像配置和层内容提供自己的存储。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| DockerImageConfig 是一个 JSON blob,运行时用于设置容器。这是清单模式 v2 的一部分。当镜像代表清单列表时,不会设置。 |
|
| dockerImageLayers 代表镜像中的层。如果镜像没有定义这些数据,或者镜像代表清单列表,则可能无法设置。 |
|
| ImageLayer 代表镜像的一个层。有些镜像可能有多个层。有些可能没有。 |
|
| DockerImageManifest 是清单的原始 JSON |
|
| DockerImageManifestMediaType 指定清单的 mediaType。这是清单模式 v2 的一部分。 |
|
| 当镜像代表清单列表时,dockerImageManifests 包含有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。 |
|
| ImageManifest 代表清单列表的子清单。Digest 字段指向常规镜像对象。 |
| dockerImageMetadata 包含有关此镜像的元数据 | |
|
| dockerImageMetadataVersion 会传递对象版本,如果为空默认为 "1.0" |
|
| dockerImageReference 是可用于拉取此镜像的字符串。 |
|
| DockerImageSignatures 提供签名作为不透明 Blob。这是清单 schema v1 的一部分。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| ||
|
| 签名包含镜像的所有签名。 |
|
| ImageSignature 包含镜像的签名。只要签名被信任,它就可以验证镜像身份和其他声明。根据此信息,可以将可运行的镜像限制为匹配的集群范围策略。执行镜像验证的客户端应解析必填字段。其他则由服务器从签名的内容解析。它们只是一个信息性目的。 兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。 |
9.1.4. .image.dockerImageLayers
- 描述
- dockerImageLayers 代表镜像中的层。如果镜像没有定义这些数据,或者镜像代表清单列表,则可能无法设置。
- 类型
-
array
9.1.5. .image.dockerImageLayers[]
- 描述
- ImageLayer 代表镜像的一个层。有些镜像可能有多个层。有些可能没有。
- 类型
-
object
- 必填
-
name
-
size
-
mediaType
-
属性 | 类型 | 描述 |
---|---|---|
|
| 所引用对象的 MediaType。 |
|
| 由底层存储定义的层名称。 |
|
| 底层大小(以字节为单位)由底层存储定义。 |
9.1.6. .image.dockerImageManifests
- 描述
- 当镜像代表清单列表时,dockerImageManifests 包含有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。
- 类型
-
数组
9.1.7. .image.dockerImageManifests[]
- 描述
- ImageManifest 代表清单列表的子清单。Digest 字段指向常规镜像对象。
- 类型
-
object
- 必填
-
摘要
-
mediaType
-
manifestSize
-
架构
-
os
-
属性 | 类型 | 描述 |
---|---|---|
|
|
Architecture 指定支持的 CPU 架构,如 |
|
| 摘要是清单的唯一标识符。它指的是 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 变体。 |
9.1.8. .image.signatures
- 描述
- 签名包含镜像的所有签名。
- 类型
-
array
9.1.9. .image.signatures[]
- 描述
ImageSignature 包含镜像的签名。只要签名被信任,它就可以验证镜像身份和其他声明。根据此信息,可以将可运行的镜像限制为匹配的集群范围策略。执行镜像验证的客户端应解析必填字段。其他则由服务器从签名的内容解析。它们只是一个信息性目的。
兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
- 类型
-
object
- 必填
-
type
-
content
-
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| 条件代表签名当前状态的最新可用影响。 |
|
| SignatureCondition 描述了特定探测时特定 kind 的镜像签名条件。 |
|
| 必需:不透明的二进制字符串,它是镜像的签名。 |
| 如果指定,这是签名创建的时间。 | |
|
| 代表镜像身份的人类可读字符串。它可以是产品名称和版本,也可以是镜像拉取 spec (如 "registry.access.redhat.com/rhel7/rhel:7.2")。 |
|
| SignatureIssuer 包含有关签名证书或密钥的签发者的信息。 |
|
| 签名使用者包含有关创建签名的个人或实体的信息。 |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| ||
|
| 包含来自签名的声明。 |
|
| 必需:描述存储的 blob 类型。 |
9.1.10. .image.signatures[].conditions
- 描述
- 条件代表签名当前状态的最新可用影响。
- 类型
-
array
9.1.11. .image.signatures[].conditions[]
- 描述
- SignatureCondition 描述了特定探测时特定 kind 的镜像签名条件。
- 类型
-
object
- 必填
-
type
-
status
-
属性 | 类型 | 描述 |
---|---|---|
| 检查条件最后一次的时间。 | |
| 条件从一个状态传输到另一个状态最后一次的时间。 | |
|
| 人类可读的消息,指示最后一次转换的详细信息。 |
|
| (brief)条件最后一次转换的原因。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| 签名条件的类型,完成或失败。 |
9.1.12. .image.signatures[].issuedBy
- 描述
- SignatureIssuer 包含有关签名证书或密钥的签发者的信息。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 通用名称(如 openshift-signing-service)。 |
|
| 机构名称。 |
9.1.13. .image.signatures[].issuedTo
- 描述
- 签名使用者包含有关创建签名的个人或实体的信息。
- 类型
-
object
- 必填
-
publicKeyID
-
属性 | 类型 | 描述 |
---|---|---|
|
| 通用名称(如 openshift-signing-service)。 |
|
| 机构名称。 |
|
| 如果存在,它是属于用于验证镜像签名的主题的公共密钥的人类可读密钥 ID。它应该至少包含 64 位公钥的指纹(例如 0x685ebe62bf278440)。 |
9.1.14. .lookupPolicy
- 描述
- ImageLookupPolicy 描述了如何使用镜像流来覆盖命名空间中 pod、构建和其他资源所使用的镜像引用。
- 类型
-
object
- 必填
-
local
-
属性 | 类型 | 描述 |
---|---|---|
|
| 本地将在与此镜像流匹配时,将此命名空间中的对象上的 docker 短镜像引用(如"mysql"或"php:latest")更改为镜像 ID,而不是到达远程 registry。如果找到,该名称将完全限定到镜像 ID。标签的 referencePolicy 被考虑在替换的值中。仅在当前命名空间中工作。 |
9.1.15. .tag
- 描述
- TagReference 指定镜像的可选注解,以及对 ImageStreamTag、ImageStreamImage 或 DockerImage 此标签应跟踪的可选引用。
- 类型
-
object
- 必填
-
name
-
属性 | 类型 | 描述 |
---|---|---|
|
| 可选;如果指定,注解应用于通过 ImageStreamTags 检索的镜像。 |
| 可选;如果指定,对此标签应指向的另一个镜像的引用。有效值为 ImageStreamTag、ImageStreamImage 和 DockerImage。ImageStreamTag 引用只能引用此同一 ImageStream 中的标签。 | |
|
| generation 是跟踪对 spec 标签(用户意图)的计数器。当修改标签引用时,生成会被设置为与当前流生成匹配(每次 spec 被更改时递增)。镜像导入程序等系统中的其他进程会观察到生成 spec 标签比状态中记录的生成更新,并使用该标签作为触发器导入最新的远程标签。要触发新导入,客户端可能会将此值设置为 0,这会将生成重置为最新的流生成。传统客户端将此值作为 nil 发送,它将与当前标签生成合并。 |
|
| TagImportPolicy 控制如何导入与此标签相关的镜像。 |
|
| 标签的名称 |
|
| 如果导入了标签,引用状态。默认值为 false,这意味着将导入标签。 |
|
| TagReferencePolicy 描述了当部署配置或构建中的镜像更改触发器被解决时,会生成此镜像流标签中的镜像的 pull-specs。这允许镜像流作者控制如何访问镜像。 |
9.1.16. .tag.importPolicy
- 描述
- TagImportPolicy 控制如何导入与此标签相关的镜像。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| importMode 描述了如何导入镜像清单。 |
|
| 如果服务器可以在镜像导入过程中绕过证书验证或直接连接到 HTTP,则不安全。 |
|
| scheduled 表示此标签应定期检查的服务器,以确保它保持最新状态并导入 |
9.1.17. .tag.referencePolicy
- 描述
- TagReferencePolicy 描述了当部署配置或构建中的镜像更改触发器被解决时,会生成此镜像流标签中的镜像的 pull-specs。这允许镜像流作者控制如何访问镜像。
- 类型
-
object
- 必填
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
|
Type 决定在部署配置触发器或新构建中使用镜像流标签时,应如何转换镜像拉取 spec。默认值为 |