1.10. Policy API
1.10.1. 概述
本文档介绍了与 Red Hat Advanced Cluster Management for Kubernetes 的策略(Policy)资源相关的 API 信息。Policy 资源有 4 个可用的请求:create、query、delete 和 update。
1.10.1.1. 版本信息
版本 : 2.8.0
1.10.1.2. URI scheme
BasePath : /kubernetes/apis
Schemes : HTTPS
1.10.1.3. Tags
- policy.open-cluster-management.io/v1 : 创建和管理策略
1.10.2. 路径
1.10.2.1. 创建策略
POST /policy.open-cluster-management.io/v1/v1alpha1/namespaces/{namespace}/policies/{policy_name}
1.10.2.1.1. 描述
创建策略
1.10.2.1.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
Body |
body | 描述要创建策略的参数。 |
1.10.2.1.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.10.2.1.4. 使用
-
application/json
1.10.2.1.5. Tags
- policy.open-cluster-management.io
1.10.2.1.6. HTTP 请求示例
1.10.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", "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.10.2.2. 查询所有策略
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.2.1. 描述
查询您的策略以获得更详细的信息。
1.10.2.2.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
namespace | 要应用策略的命名空间,如 default。 | 字符串 |
1.10.2.2.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.10.2.2.4. 使用
-
application/json
1.10.2.2.5. Tags
- policy.open-cluster-management.io
1.10.2.3. 查询单个策略
GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.3.1. 描述
查询单个策略以获取更多详细信息。
1.10.2.3.2. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
policy_name | 要查询的策略的名称。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.10.2.3.3. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.10.2.3.4. Tags
- policy.open-cluster-management.io
1.10.2.4. 删除策略
DELETE /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.4.1. 参数
类型 | Name | 描述 | 模式 |
---|---|---|---|
标头 |
COOKIE | 身份验证:Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN 是用户访问令牌。 | 字符串 |
路径 |
policy_name | 要删除的策略名称。 | 字符串 |
路径 |
namespace | 要使用的命名空间,如 default。 | 字符串 |
1.10.2.4.2. 响应
HTTP 代码 | 描述 | 模式 |
---|---|---|
200 | 成功 | 无内容 |
403 | 禁止访问 | 无内容 |
404 | 未找到资源 | 无内容 |
500 | 内部服务错误 | 无内容 |
503 | 服务不可用 | 无内容 |
1.10.2.4.3. Tags
- policy.open-cluster-management.io
1.10.3. 定义
1.10.3.1. policy
Name | 描述 | 模式 |
---|---|---|
apiVersion | 策略的版本化模式(schema)。 | 字符串 |
kind | 代表 REST 资源的字符串值。 | 字符串 |
metadata | 描述定义策略的规则。 | 对象 |
spec
Name | 描述 | 模式 |
---|---|---|
remediationAction | 代表资源中定义的处理违反情况的值。 | 字符串 |
namespaceSelector | 代表策略要应用到的命名空间的值。 | 字符串 |
policy-templates
Name | 描述 | 模式 |
---|---|---|
apiVersion | 策略的版本化模式(schema)。 | 字符串 |
kind | 代表 REST 资源的字符串值。 | 字符串 |
metadata | 描述定义策略的规则。 | 对象 |
complianceType | 用于列出必须被评估或应用到受管集群的角色的预期行为和任何 Kubernetes 对象。 | 字符串 |
metadataComplianceType |
为用户提供处理对象标签和注解的方式与其他字段不同。参数值默认为 | 字符串 |
定义标签的部分。 | 字符串 | |
rules | 字符串 |
clusterConditions
Name | 描述 | 模式 |
---|---|---|
matchLabels | 策略应用到一个命名空间所需的标签。 | 对象 |
cloud | 策略应用到一个云供应商所需的标签。 | 字符串 |
rules
Name | 描述 | 模式 |
---|---|---|
apiGroups | 适用于该规则的 API 列表。 | 字符串 |
resources | 资源类型列表。 | 对象 |
verbs | 动词列表。 | 字符串 |