1.11. Policy API
1.11.1. 概述 复制链接链接已复制到粘贴板!
本文档介绍了与 Red Hat Advanced Cluster Management for Kubernetes 的策略(Policy)资源相关的 API 信息。Policy 资源有 4 个可用的请求:create、query、delete 和 update。
1.11.1.1. 版本信息 复制链接链接已复制到粘贴板!
版本 : 2.12.0
1.11.1.2. URI scheme 复制链接链接已复制到粘贴板!
BasePath : /kubernetes/apis
Schemes : HTTPS
1.11.1.3. Tags 复制链接链接已复制到粘贴板!
- policy.open-cluster-management.io/v1 : 创建和管理策略
1.11.2. 路径 复制链接链接已复制到粘贴板!
1.11.2.1. 创建策略 复制链接链接已复制到粘贴板!
POST /policy.open-cluster-management.io/v1/v1alpha1/namespaces/{namespace}/policies/{policy_name}
1.11.2.1.1. 描述 复制链接链接已复制到粘贴板!
创建策略
1.11.2.1.2. 参数 复制链接链接已复制到粘贴板!
| 类型 | Name | 描述 | 模式 |
|---|---|---|---|
| 标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
| 路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
| Body |
body | 描述要创建策略的参数。 |
1.11.2.1.3. 响应 复制链接链接已复制到粘贴板!
| HTTP 代码 | 描述 | 模式 |
|---|---|---|
| 200 | 成功 | 无内容 |
| 403 | 禁止访问 | 无内容 |
| 404 | 未找到资源 | 无内容 |
| 500 | 内部服务错误 | 无内容 |
| 503 | 服务不可用 | 无内容 |
1.11.2.1.4. 使用 复制链接链接已复制到粘贴板!
-
application/json
1.11.2.1.5. Tags 复制链接链接已复制到粘贴板!
- policy.open-cluster-management.io
1.11.2.1.6. HTTP 请求示例 复制链接链接已复制到粘贴板!
1.11.2.1.6.1. 请求正文 复制链接链接已复制到粘贴板!
{
"apiVersion": "policy.open-cluster-management.io/v1",
"kind": "Policy",
"metadata": {
"name": "test-policy-swagger",
"description": "Example body for Policy API Swagger docs"
},
"spec": {
"remediationAction": "enforce",
"customMessage": {
"compliant": [],
"noncompliant": []
},
"namespaces": {
"include": [
"default"
],
"exclude": [
"kube*"
]
},
"policy-templates": {
"kind": "ConfigurationPolicy",
"apiVersion": "policy.open-cluster-management.io/v1",
"complianceType": "musthave",
"metadataComplianceType": "musthave",
"metadata": {
"namespace": null,
"name": "test-role"
},
"selector": {
"matchLabels": {
"cloud": "IBM"
}
},
"spec" : {
"object-templates": {
"complianceType": "musthave",
"metadataComplianceType": "musthave",
"objectDefinition": {
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "Role",
"metadata": {
"name": "role-policy",
},
"rules": [
{
"apiGroups": [
"extensions",
"apps"
],
"resources": [
"deployments"
],
"verbs": [
"get",
"list",
"watch",
"delete"
]
},
{
"apiGroups": [
"core"
],
"resources": [
"pods"
],
"verbs": [
"create",
"update",
"patch"
]
},
{
"apiGroups": [
"core"
],
"resources": [
"secrets"
],
"verbs": [
"get",
"watch",
"list",
"create",
"delete",
"update",
"patch"
],
},
],
},
},
},
},
1.11.2.2. 查询所有策略 复制链接链接已复制到粘贴板!
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.11.2.2.1. 描述 复制链接链接已复制到粘贴板!
查询您的策略以获得更详细的信息。
1.11.2.2.2. 参数 复制链接链接已复制到粘贴板!
| 类型 | Name | 描述 | 模式 |
|---|---|---|---|
| 标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
| 路径 |
namespace | 要应用策略的命名空间,如 default。 | 字符串 |
1.11.2.2.3. 响应 复制链接链接已复制到粘贴板!
| HTTP 代码 | 描述 | 模式 |
|---|---|---|
| 200 | 成功 | 无内容 |
| 403 | 禁止访问 | 无内容 |
| 404 | 未找到资源 | 无内容 |
| 500 | 内部服务错误 | 无内容 |
| 503 | 服务不可用 | 无内容 |
1.11.2.2.4. 使用 复制链接链接已复制到粘贴板!
-
application/json
1.11.2.2.5. Tags 复制链接链接已复制到粘贴板!
- policy.open-cluster-management.io
1.11.2.3. 查询单个策略 复制链接链接已复制到粘贴板!
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.11.2.3.1. 描述 复制链接链接已复制到粘贴板!
查询单个策略以获取更多详细信息。
1.11.2.3.2. 参数 复制链接链接已复制到粘贴板!
| 类型 | Name | 描述 | 模式 |
|---|---|---|---|
| 标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
| 路径 |
policy_name | 要查询的策略的名称。 | 字符串 |
| 路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.11.2.3.3. 响应 复制链接链接已复制到粘贴板!
| HTTP 代码 | 描述 | 模式 |
|---|---|---|
| 200 | 成功 | 无内容 |
| 403 | 禁止访问 | 无内容 |
| 404 | 未找到资源 | 无内容 |
| 500 | 内部服务错误 | 无内容 |
| 503 | 服务不可用 | 无内容 |
1.11.2.3.4. Tags 复制链接链接已复制到粘贴板!
- policy.open-cluster-management.io
1.11.2.4. 删除策略 复制链接链接已复制到粘贴板!
DELETE /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.11.2.4.1. 参数 复制链接链接已复制到粘贴板!
| 类型 | Name | 描述 | 模式 |
|---|---|---|---|
| 标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
| 路径 |
policy_name | 要删除的策略名称。 | 字符串 |
| 路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.11.2.4.2. 响应 复制链接链接已复制到粘贴板!
| HTTP 代码 | 描述 | 模式 |
|---|---|---|
| 200 | 成功 | 无内容 |
| 403 | 禁止访问 | 无内容 |
| 404 | 未找到资源 | 无内容 |
| 500 | 内部服务错误 | 无内容 |
| 503 | 服务不可用 | 无内容 |
1.11.2.4.3. Tags 复制链接链接已复制到粘贴板!
- policy.open-cluster-management.io
1.11.3. 定义 复制链接链接已复制到粘贴板!
1.11.3.1. policy 复制链接链接已复制到粘贴板!
| Name | 描述 | 模式 |
|---|---|---|
|
apiVersion | 策略的版本化模式(schema)。 | 字符串 |
|
kind | 代表 REST 资源的字符串值。 | 字符串 |
|
metadata | 描述定义策略的规则。 | 对象 |
spec
| Name | 描述 | 模式 |
|---|---|---|
|
remediationAction | 代表资源中定义的处理违反情况的值。 | string |
|
customMessage |
参数字段,您可以根据合规性状态配置来自配置策略的自定义消息。您可以使用配置策略控制器中策略当前状态的 | string |
|
namespaceSelector | 代表策略要应用到的命名空间的值。 | 字符串 |
policy-templates
| Name | 描述 | 模式 |
|---|---|---|
|
apiVersion | 策略的版本化模式(schema)。 | 字符串 |
|
kind | 代表 REST 资源的字符串值。 | 字符串 |
|
metadata | 描述定义策略的规则。 | 对象 |
| complianceType | 用于列出必须被评估或应用到受管集群的角色的预期行为和任何 Kubernetes 对象。 | 字符串 |
|
metadataComplianceType |
为用户提供处理对象标签和注解的方式与其他字段不同。参数值默认为 | 字符串 |
| 定义标签的部分。 | 字符串 | |
|
rules | 字符串 |
clusterConditions
| Name | 描述 | 模式 |
|---|---|---|
|
matchLabels | 策略应用到一个命名空间所需的标签。 | 对象 |
|
cloud | 策略应用到一个云供应商所需的标签。 | 字符串 |
rules
| Name | 描述 | 模式 |
|---|---|---|
|
apiGroups | 适用于该规则的 API 列表。 | 字符串 |
|
resources | 资源类型列表。 | 对象 |
|
verbs | 动词列表。 | 字符串 |