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
optional

为用户提供处理对象标签和注解的方式与其他字段不同。参数值默认为 ComplianceType 参数的值相同。

字符串

clusterConditions
可选

定义标签的部分。

字符串

rules
可选

 

字符串

clusterConditions

Name描述模式

matchLabels
可选

策略应用到一个命名空间所需的标签。

对象

cloud
可选

策略应用到一个云供应商所需的标签。

字符串

rules

Name描述模式

apiGroups
必需

适用于该规则的 API 列表。

字符串

resources
必需

资源类型列表。

对象

verbs
必需

动词列表。

字符串

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.