第 2 章 APIRequestCount [apiserver.openshift.io/v1]
- 描述
-
APIRequestCount 跟踪向 API 发出的请求。实例名称必须是
resource.version.group
的形式,与资源匹配。兼容性级别 1:在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。 - 类型
-
object
- 必填
-
spec
-
2.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec 定义资源的特性。 |
|
| status 包含资源的观察状态。 |
2.1.1. .spec
- 描述
- spec 定义资源的特性。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| numberOfUsersToReport 是报告中包含的用户数量。如果未指定或零,则默认为 10。这是可能会更改的。 |
2.1.2. .status
- 描述
- status 包含资源的观察状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 条件包含此 API 资源当前状态的详细信息。 |
|
|
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition |
|
| currentHour 包含当前小时的请求历史记录。这是为了使 API 更易于阅读,如果 API 解决了问题,则他们会变得更容易阅读。此字段在小时上重置。 |
|
| last24h 包含最后 24 小时的请求历史记录,按小时索引,因此 12:00AM-12:59 处于索引 0、6am-6:59am 是索引 6 等。当前小时的索引会实时更新,然后复制到 requestsLastHour 字段中。 |
|
| PerResourceAPIRequestLog 日志请求。 |
|
| REMOVEDINRELEASE 是在删除 API 时。 |
|
| requestCount 是所有当前小时、节点和用户中的所有 requestCount 的总和。 |
2.1.3. .status.conditions
- 描述
- 条件包含此 API 资源当前状态的详细信息。
- 类型
-
array
2.1.4. .status.conditions[]
- 描述
-
条件包含此 API 资源当前状态的一个方面的详情。--- 这个结构旨在直接用作字段路径 .status.conditions 中的数组。例如,输入 FooStatus struct{ // Represents the observations of a foo’s current state. // Known .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition
json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"
// other fields } - 类型
-
object
- 必填
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
属性 | 类型 | 描述 |
---|---|---|
|
| lastTransitionTime 是条件从一个状态转换到另一个状态最后一次的时间。这应该是底层条件变化的时间。如果为未知,则使用 API 字段更改的时间是可以接受的。 |
|
| Message 是人类可读的消息,指示有关转换的详细信息。这可能是一个空字符串。 |
|
| observedGeneration 代表 .metadata.generation,这是条件设置所基于的条件。例如,如果 .metadata.generation 目前为 12,但 .status.conditions[x].observedGeneration 是 9,则代表条件与实例的当前状态已不匹配。 |
|
| reason 包含程序标识符,指示条件最后一次转换的原因。特定条件类型的制作者可能会定义预期的值和此字段的含义,以及这些值是否被视为有保证的 API。该值应该是 CamelCase 字符串。此字段可能不是空的。 |
|
| 条件的状态,True, False, Unknown 之一。 |
|
| CamelCase 或 foo.example.com/CamelCase 中的条件类型。-- Many .condition.type 值在资源间是一致的,但因为任意条件可能很有用(请参阅 .node.status.conditions),deconflict 的能力非常重要。它匹配的正则表达式是 (dns1123SubdomainFmt/)? (qualifiedNameFmt) |
2.1.5. .status.currentHour
- 描述
- currentHour 包含当前小时的请求历史记录。这是为了使 API 更易于阅读,如果 API 解决了问题,则他们会变得更容易阅读。此字段在小时上重置。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| byNode 包含每个节点的请求日志。 |
|
| PerNodeAPIRequestLog 包含对特定节点的请求日志。 |
|
| requestCount 是跨节点的所有 requestCounts 的总和。 |
2.1.6. .status.currentHour.byNode
- 描述
- byNode 包含每个节点的请求日志。
- 类型
-
array
2.1.7. .status.currentHour.byNode[]
- 描述
- PerNodeAPIRequestLog 包含对特定节点的请求日志。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| byUser 包含 top .spec.numberOfUsersToReport 用户的请求详情。请注意,因为当出现 apiserver 时,重启 top 用户列表是以最佳而成的,所以列表可能是不前的。此外,列表中可能会显式包含一些系统用户。 |
|
| PerUserAPIRequestCount 包含用户请求的日志。 |
|
| 处理请求的 nodeName。 |
|
| requestCount 是所有用户(即使前 10 名用户外)的所有 requestCounts 的总和。 |
2.1.8. .status.currentHour.byNode[].byUser
- 描述
- byUser 包含 top .spec.numberOfUsersToReport 用户的请求详情。请注意,因为当出现 apiserver 时,重启 top 用户列表是以最佳而成的,所以列表可能是不前的。此外,列表中可能会显式包含一些系统用户。
- 类型
-
array
2.1.9. .status.currentHour.byNode[].byUser[]
- 描述
- PerUserAPIRequestCount 包含用户请求的日志。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| by verbVerb 详情。 |
|
| PerVerbAPIRequestCount requestCounts 请求由 API request verbs 请求。 |
|
| 用户跨所有操作者的 requestCount 请求。 |
|
| 发出请求的 userAgent。同一用户通常有多个二进制文件,它们连接(带有许多容器的 pod)。不同的二进制文件将有不同的 userAgent,但使用相同的用户。另外,我们嵌入了带有版本信息的 userAgents,并且 userName 不太可能更改。 |
|
| 发出请求的用户名。 |
2.1.10. .status.currentHour.byNode[].byUser[].byVerb
- 描述
- by verbVerb 详情。
- 类型
-
array
2.1.11. .status.currentHour.byNode[].byUser[].byVerb[]
- 描述
- PerVerbAPIRequestCount requestCounts 请求由 API request verbs 请求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| requestCount of requests for verb. |
|
| API 请求动词(get、list、create 等) |
2.1.12. .status.last24h
- 描述
- last24h 包含最后 24 小时的请求历史记录,按小时索引,因此 12:00AM-12:59 处于索引 0、6am-6:59am 是索引 6 等。当前小时的索引会实时更新,然后复制到 requestsLastHour 字段中。
- 类型
-
array
2.1.13. .status.last24h[]
- 描述
- PerResourceAPIRequestLog 日志请求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| byNode 包含每个节点的请求日志。 |
|
| PerNodeAPIRequestLog 包含对特定节点的请求日志。 |
|
| requestCount 是跨节点的所有 requestCounts 的总和。 |
2.1.14. .status.last24h[].byNode
- 描述
- byNode 包含每个节点的请求日志。
- 类型
-
array
2.1.15. .status.last24h[].byNode[]
- 描述
- PerNodeAPIRequestLog 包含对特定节点的请求日志。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| byUser 包含 top .spec.numberOfUsersToReport 用户的请求详情。请注意,因为当出现 apiserver 时,重启 top 用户列表是以最佳而成的,所以列表可能是不前的。此外,列表中可能会显式包含一些系统用户。 |
|
| PerUserAPIRequestCount 包含用户请求的日志。 |
|
| 处理请求的 nodeName。 |
|
| requestCount 是所有用户(即使前 10 名用户外)的所有 requestCounts 的总和。 |
2.1.16. .status.last24h[].byNode[].byUser
- 描述
- byUser 包含 top .spec.numberOfUsersToReport 用户的请求详情。请注意,因为当出现 apiserver 时,重启 top 用户列表是以最佳而成的,所以列表可能是不前的。此外,列表中可能会显式包含一些系统用户。
- 类型
-
array
2.1.17. .status.last24h[].byNode[].byUser[]
- 描述
- PerUserAPIRequestCount 包含用户请求的日志。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| by verbVerb 详情。 |
|
| PerVerbAPIRequestCount requestCounts 请求由 API request verbs 请求。 |
|
| 用户跨所有操作者的 requestCount 请求。 |
|
| 发出请求的 userAgent。同一用户通常有多个二进制文件,它们连接(带有许多容器的 pod)。不同的二进制文件将有不同的 userAgent,但使用相同的用户。另外,我们嵌入了带有版本信息的 userAgents,并且 userName 不太可能更改。 |
|
| 发出请求的用户名。 |
2.1.18. .status.last24h[].byNode[].byUser[].byVerb
- 描述
- by verbVerb 详情。
- 类型
-
array
2.1.19. .status.last24h[].byNode[].byUser[].byVerb[]
- 描述
- PerVerbAPIRequestCount requestCounts 请求由 API request verbs 请求。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| requestCount of requests for verb. |
|
| API 请求动词(get、list、create 等) |