第 2 章 Image [image.openshift.io/v1]


描述

镜像是容器镜像和元数据在时间点上的不可变表示。镜像通过获取其内容的哈希值(元数据和内容),格式、内容或元数据的任何更改都会生成新名称。images 资源主要供集群管理员使用,并像集群镜像 registry - 最终用户一样集成,而是通过 imagestreamtag 或 imagestreamimages 资源访问镜像。虽然镜像元数据存储在 API 中,但实施容器镜像 registry API 的任何集成都必须为原始清单数据、镜像配置和层内容提供自己的存储。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
对象

2.1. 规格

属性类型描述

apiVersion

字符串

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

dockerImageConfig

字符串

DockerImageConfig 是一个 JSON blob,运行时用于设置容器。这是清单模式 v2 的一部分。当镜像代表清单列表时,不会设置。

dockerImageLayers

array

dockerImageLayers 代表镜像中的层。如果镜像没有定义这些数据,或者镜像代表清单列表,则可能无法设置。

dockerImageLayers[]

对象

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

dockerImageManifest

字符串

DockerImageManifest 是清单的原始 JSON

dockerImageManifestMediaType

字符串

DockerImageManifestMediaType 指定清单的 mediaType。这是清单模式 v2 的一部分。

dockerImageManifests

数组

当镜像代表清单列表时,dockerImageManifests 包含有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。

dockerImageManifests[]

object

ImageManifest 代表清单列表的子清单。Digest 字段指向常规镜像对象。

dockerImageMetadata

RawExtension

dockerImageMetadata 包含有关此镜像的元数据

dockerImageMetadataVersion

字符串

dockerImageMetadataVersion 会传递对象版本,如果为空默认为 "1.0"

dockerImageReference

字符串

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

dockerImageSignatures

数组(字符串)

DockerImageSignatures 提供签名作为不透明 Blob。这是清单 schema v1 的一部分。

kind

字符串

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

metadata

ObjectMeta

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

签名

array

签名包含镜像的所有签名。

signatures[]

对象

ImageSignature 包含镜像的签名。只要签名被信任,它就可以验证镜像身份和其他声明。根据此信息,可以将可运行的镜像限制为匹配的集群范围策略。执行镜像验证的客户端应解析必填字段。其他则由服务器从签名的内容解析。它们只是一个信息性目的。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

2.1.1. .dockerImageLayers

描述
dockerImageLayers 代表镜像中的层。如果镜像没有定义这些数据,或者镜像代表清单列表,则可能无法设置。
类型
array

2.1.2. .dockerImageLayers[]

描述
ImageLayer 代表镜像的一个层。有些镜像可能有多个层。有些可能没有。
类型
object
必填
  • name
  • size
  • mediaType
属性类型描述

mediaType

字符串

所引用对象的 MediaType。

name

字符串

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

size

整数

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

2.1.3. .dockerImageManifests

描述
当镜像代表清单列表时,dockerImageManifests 包含有关子清单的信息。当此字段存在时,不应指定 DockerImageLayers。
类型
数组

2.1.4. .dockerImageManifests[]

描述
ImageManifest 代表清单列表的子清单。Digest 字段指向常规镜像对象。
类型
object
必填
  • 摘要
  • mediaType
  • manifestSize
  • 架构
  • os
属性类型描述

架构

string

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

摘要

string

摘要是清单的唯一标识符。它指的是 Image 对象。

manifestSize

整数

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

mediaType

string

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

os

string

OS 指定操作系统,例如 linux

变体

string

variant 是一个可选字段,它是一个 CPU 变体,如 v6 来指定 ARM CPU 的特定 CPU 变体。

2.1.5. .signatures

描述
签名包含镜像的所有签名。
类型
array

2.1.6. .signatures[]

描述

ImageSignature 包含镜像的签名。只要签名被信任,它就可以验证镜像身份和其他声明。根据此信息,可以将可运行的镜像限制为匹配的集群范围策略。执行镜像验证的客户端应解析必填字段。其他则由服务器从签名的内容解析。它们只是一个信息性目的。

兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。

类型
object
必填
  • type
  • content
属性类型描述

apiVersion

字符串

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

conditions

array

条件代表签名当前状态的最新可用影响。

conditions[]

对象

SignatureCondition 描述了特定探测时特定 kind 的镜像签名条件。

content

字符串

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

created

时间

如果指定,这是签名创建的时间。

imageIdentity

字符串

代表镜像身份的人类可读字符串。它可以是产品名称和版本,也可以是镜像拉取 spec (如 "registry.access.redhat.com/rhel7/rhel:7.2")。

issuedBy

对象

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

issuedTo

对象

签名使用者包含有关创建签名的个人或实体的信息。

kind

字符串

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

metadata

ObjectMeta

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

signedClaims

对象(字符串)

包含来自签名的声明。

type

字符串

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

2.1.7. .signatures[].conditions

描述
条件代表签名当前状态的最新可用影响。
类型
array

2.1.8. .signatures[].conditions[]

描述
SignatureCondition 描述了特定探测时特定 kind 的镜像签名条件。
类型
object
必填
  • type
  • status
属性类型描述

lastProbeTime

时间

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

lastTransitionTime

时间

条件从一个状态传输到另一个状态最后一次的时间。

message

字符串

人类可读的消息,指示最后一次转换的详细信息。

reason

字符串

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

status

字符串

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

type

字符串

签名条件的类型,完成或失败。

2.1.9. .signatures[].issuedBy

描述
SignatureIssuer 包含有关签名证书或密钥的签发者的信息。
类型
object
属性类型描述

commonName

字符串

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

机构

字符串

机构名称。

2.1.10. .signatures[].issuedTo

描述
签名使用者包含有关创建签名的个人或实体的信息。
类型
object
必填
  • publicKeyID
属性类型描述

commonName

字符串

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

机构

字符串

机构名称。

publicKeyID

字符串

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.