×
描述

DNSRecord 是在由 dns.config.openshift.io/cluster .spec.publicZone 和 .spec.privateZone 定义的区域中管理的 DNS 记录。不支持集群管理员对该资源的操作。此资源仅用于 OpenShift 运营商的内部通信。如果 DNSManagementPolicy 为“Unmanaged”,则运营商将不负责管理云提供商上的 DNS 记录。兼容性级别 1:在主要版本中至少稳定 12 个月或 3 个次要版本(以较长者为准)。

类型

对象

规范

属性 类型 描述

apiVersion

字符串

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

kind

字符串

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

metadata

ObjectMeta

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

spec

对象

spec 是 dnsRecord 期望行为的规范。

status

对象

status 是 dnsRecord 最近观察到的状态。

.spec

描述

spec 是 dnsRecord 期望行为的规范。

类型

对象

必需
  • dnsManagementPolicy

  • dnsName

  • recordTTL

  • recordType

  • targets

属性 类型 描述

dnsManagementPolicy

字符串

dnsManagementPolicy 表示当前应用于 DNS 记录的策略。将策略设置为“Unmanaged”的记录会被 Ingress 运算符忽略。这意味着云提供商上的 DNS 记录不由运算符管理,“已发布”状态条件将更新为“未知”状态,因为它是由外部管理的。集群管理员可以自行决定删除云提供商上的任何现有记录。此字段默认为 Managed。有效值为“Managed”和“Unmanaged”。

dnsName

字符串

dnsName 是 DNS 记录的主机名。

recordTTL

整数

recordTTL 是记录 TTL(以秒为单位)。如果为零,则默认为 30。根据 AWS API 约定,recordTTL 不会用于 AWS 区域别名目标,但会用于 CNAME 目标。

recordType

字符串

recordType 是 DNS 记录类型。例如,“A”或“CNAME”。

targets

数组(字符串)

targets 是记录目标。

.status

描述

status 是 dnsRecord 最近观察到的状态。

类型

对象

属性 类型 描述

observedGeneration

整数

observedGeneration 是最近观察到的 DNSRecord 的代数。更新 DNSRecord 时,控制器会更新每个已管理区域中的相应记录。如果特定区域的更新失败,则该失败将记录在该区域的状态条件中,以便控制器可以确定它需要重试该特定区域的更新。

zones

数组

zones 是每个区域中记录的状态。

zones[]

对象

DNSZoneStatus 是特定区域内记录的状态。

.status.zones

描述

zones 是每个区域中记录的状态。

类型

数组

.status.zones[]

描述

DNSZoneStatus 是特定区域内记录的状态。

类型

对象

属性 类型 描述

conditions

数组

conditions 是与区域中记录关联的任何条件。如果记录发布成功,“已发布”条件将设置为状态“True”,如果失败,则将设置为“False”,并附带描述失败原因的原因和消息。

conditions[]

对象

DNSZoneCondition 只是标准条件字段。

dnsZone

对象

dnsZone 是发布记录的区域。

.status.zones[].conditions

描述

conditions 是与区域中记录关联的任何条件。如果记录发布成功,“已发布”条件将设置为状态“True”,如果失败,则将设置为“False”,并附带描述失败原因的原因和消息。

类型

数组

.status.zones[].conditions[]

描述

DNSZoneCondition 只是标准条件字段。

类型

对象

必需
  • status

  • 类型

属性 类型 描述

lastTransitionTime

字符串

message

字符串

reason

字符串

status

字符串

类型

字符串

.status.zones[].dnsZone

描述

dnsZone 是发布记录的区域。

类型

对象

属性 类型 描述

id

字符串

id 是可用于查找 DNS 托管区域的标识符。在 AWS 上,可以使用`ID`作为 [1] 中的 id 获取区域;在 Azure 上,可以使用`ID`作为 [2] 中的预定名称获取区域;在 GCP 上,可以使用`ID`作为 [3] 中的预定名称获取区域。[1]: https://docs.aws.amazon.com/cli/latest/reference/route53/get-hosted-zone.html#options [2]: https://docs.microsoft.com/en-us/cli/azure/network/dns/zone?view=azure-cli-latest#az-network-dns-zone-show [3]: https://cloud.google.com/dns/docs/reference/v1/managedZones/get

tags

对象(字符串)

tags 可用于查询 DNS 托管区域。在 AWS 上,可以使用 resourcegroupstaggingapi [1] 使用`Tags`作为标签过滤器来获取区域,[1]: https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html#options

API 端点

提供以下 API 端点

  • /apis/ingress.operator.openshift.io/v1/dnsrecords

    • GET:列出 DNSRecord 类型的对象

  • /apis/ingress.operator.openshift.io/v1/namespaces/{namespace}/dnsrecords

    • DELETE:删除 DNSRecord 集合

    • GET:列出 DNSRecord 类型的对象

    • POST:创建 DNSRecord

  • /apis/ingress.operator.openshift.io/v1/namespaces/{namespace}/dnsrecords/{name}

    • DELETE:删除 DNSRecord

    • GET:读取指定的 DNSRecord

    • PATCH:部分更新指定的 DNSRecord

    • PUT:替换指定的 DNSRecord

  • /apis/ingress.operator.openshift.io/v1/namespaces/{namespace}/dnsrecords/{name}/status

    • GET:读取指定的 DNSRecord 的状态

    • PATCH:部分更新指定的 DNSRecord 的状态

    • PUT:替换指定的 DNSRecord 的状态

/apis/ingress.operator.openshift.io/v1/dnsrecords

HTTP 方法

GET

描述

列出 DNSRecord 类型的对象

表 1. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecordList 模式

401 - 未授权

/apis/ingress.operator.openshift.io/v1/namespaces/{namespace}/dnsrecords

HTTP 方法

DELETE

描述

删除 DNSRecord 集合

表 2. HTTP 响应
HTTP 代码 响应正文

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 DNSRecord 类型的对象

表 3. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecordList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 DNSRecord

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

DNSRecord 模式

表 6. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

201 - 已创建

DNSRecord 模式

202 - 已接受

DNSRecord 模式

401 - 未授权

/apis/ingress.operator.openshift.io/v1/namespaces/{namespace}/dnsrecords/{name}

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

name

字符串

DNSRecord 的名称

HTTP 方法

DELETE

描述

删除 DNSRecord

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

dryRun

字符串

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

表 9. HTTP 响应
HTTP 代码 响应正文

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 DNSRecord

表 10. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 DNSRecord

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

dryRun

字符串

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

fieldValidation

字符串

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

表 12. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 DNSRecord

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

DNSRecord 模式

表 15. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

201 - 已创建

DNSRecord 模式

401 - 未授权

/apis/ingress.operator.openshift.io/v1/namespaces/{namespace}/dnsrecords/{name}/status

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

name

字符串

DNSRecord 的名称

HTTP 方法

GET

描述

读取指定的 DNSRecord 的状态

表 17. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 DNSRecord 的状态

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

dryRun

字符串

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

fieldValidation

字符串

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

表 19. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 DNSRecord 的状态

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

DNSRecord 模式

表 22. HTTP 响应
HTTP 代码 响应正文

200 - OK

DNSRecord 模式

201 - 已创建

DNSRecord 模式

401 - 未授权