×
描述

ImageStreamMapping 表示从单个镜像流标签到容器镜像的映射,以及镜像来源的容器镜像流的引用。此资源由特权集成者用来创建镜像资源并将其与状态标签字段中的镜像流关联。创建 ImageStreamMapping 将允许任何可以查看镜像流的用户标记或拉取该镜像,因此仅在用户已证明他们可以直接访问镜像内容时才创建映射。此资源仅支持创建操作,并且元数据名称和命名空间应设置为包含应更新的标签的镜像流。

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

类型

对象

必需
  • image

  • tag

规格

属性 类型 描述

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

元数据

ObjectMeta_v2

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

tag

字符串

Tag 是一个字符串值,可以通过它在镜像流中定位此镜像。

.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

元数据

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 表示镜像的单个层。一些镜像可能有多个层,一些可能没有。

类型

对象

必需
  • 名称

  • 大小

  • 媒体类型

属性 类型 描述

媒体类型

字符串

引用的对象的媒体类型。

名称

字符串

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

大小

整数

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

.image.dockerImageManifests

描述

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

类型

数组

.image.dockerImageManifests[]

描述

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

类型

对象

必需
  • 摘要

  • 媒体类型

  • 清单大小

  • 架构

  • 操作系统

属性 类型 描述

架构

字符串

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

摘要

字符串

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 指定操作系统,例如 linux

变体

字符串

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

.image.signatures

描述

Signatures 保存镜像的所有签名。

类型

数组

.image.signatures[]

描述

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

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

类型

对象

必需
  • 类型

  • 内容

属性 类型 描述

apiVersion

字符串

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

条件

数组

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

conditions[]

对象

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

内容

字符串

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

创建时间

时间

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

镜像标识

字符串

表示镜像标识的易于理解的字符串。它可以是产品名称和版本,也可以是镜像拉取规范(例如,“registry.access.redhat.com/rhel7/rhel:7.2”)。

签发者

对象

SignatureIssuer 保存有关签发证书或密钥的签发者的信息。

签发对象

对象

SignatureSubject 保存有关创建签名的个人或实体的信息。

kind

字符串

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

元数据

ObjectMeta_v2

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

已签名声明

对象 (字符串)

包含来自签名的声明。

类型

字符串

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

.image.signatures[].conditions

描述

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

类型

数组

.image.signatures[].conditions[]

描述

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

类型

对象

必需
  • 类型

  • 状态

属性 类型 描述

上次探测时间

时间

上次检查条件的时间。

最后状态转换时间

时间

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

消息

字符串

指示上次转换详细信息的易于理解的消息。

原因

字符串

条件上次转换的(简短)原因。

状态

字符串

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

类型

字符串

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

.image.signatures[].issuedBy

描述

SignatureIssuer 保存有关签发证书或密钥的签发者的信息。

类型

对象

属性 类型 描述

通用名称

字符串

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

组织

字符串

组织名称。

.image.signatures[].issuedTo

描述

SignatureSubject 保存有关创建签名的个人或实体的信息。

类型

对象

必需
  • 公钥 ID

属性 类型 描述

通用名称

字符串

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

组织

字符串

组织名称。

公钥 ID

字符串

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

API 端点

提供以下 API 端点

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

    • POST:创建一个 ImageStreamMapping

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

表 1. 全局查询参数
参数 类型 描述

dryRun

字符串

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

fieldValidation

字符串

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

HTTP 方法

POST

描述

创建一个 ImageStreamMapping

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

body

ImageStreamMapping 模式

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

200 - OK

ImageStreamMapping 模式

201 - 已创建

ImageStreamMapping 模式

202 - 已接受

ImageStreamMapping 模式

401 - 未授权