Package google.cloud.gkehub.policycontroller.v1beta

索引

BundleInstallSpec

BundleInstallSpec 是单个托管式软件包的规范配置。

字段
exempted_namespaces[]

string

要从软件包中排除的命名空间集。

HubConfig

政策控制器的配置

字段
install_spec

HubConfig.InstallSpec

install_spec 表示在特征规范中更改了 install_spec 的最新请求所指定的预期状态,而不是以特征状态报告的 Hub 特征控制器所观察到的特征生命周期状态。

exemptable_namespaces[]

string

从 Policy Controller 检查中排除的命名空间集。命名空间不需要当前存在于集群中。

referential_rules_enabled

bool

能够使用引用了并非当前正在评估的对象的限制条件模板。

log_denies_enabled

bool

记录所有拒绝及试运行失败。

mutation_enabled

bool

启用使用 Policy Controller 更改资源的功能。

deployment_configs

map<string, PolicyControllerDeploymentConfig>

部署配置到部署的映射(“admission”“audit”“mutation”)。

audit_interval_seconds

int64

设置 Policy Controller 审核扫描的间隔时间(以秒为单位)。如果设为 0,则会完全停用审核功能。

monitoring

MonitoringConfig

Monitoring 指定监控配置。

policy_content

PolicyContentSpec

指定集群上所需的政策内容

constraint_violation_limit

int64

要在限制条件中存储的审核违规行为数量上限。如果未设置,系统会使用内部默认值(当前为 20)。

InstallSpec

Hub 特征控制器可以激活的安装规范集。

枚举
INSTALL_SPEC_UNSPECIFIED 规范未知。
INSTALL_SPEC_NOT_INSTALLED 请求卸载 Policy Controller。
INSTALL_SPEC_ENABLED 请求安装并启用 Policy Controller。
INSTALL_SPEC_SUSPENDED 请求暂停 Policy Controller(即其 webhook)。如果未安装 Policy Controller,则系统会安装它,但随后会暂停它。
INSTALL_SPEC_DETACHED 请求停止 PoCo Hub 控制器执行的所有协调操作。这是一种 Breakglass 机制,可防止 PoCo Hub 影响集群资源。

MembershipSpec

Policy Controller:单个集群的配置。旨在与 PolicyController CR 并行执行。

字段
policy_controller_hub_config

HubConfig

集群的 Policy Controller 配置。

version

string

已安装的 Policy Controller 的版本。

MembershipState

Policy Controller:单个集群的状态。

字段
component_states

map<string, OnClusterState>

目前包括(也用作映射键):1. “admission”2. “audit”3. “mutation”

state

MembershipState.LifecycleState

Hub 特征控制器所观察到的整体 Policy Controller 生命周期状态。

policy_content_state

PolicyContentState

Hub 特征控制器所观察到的整体内容状态。

LifecycleState

Policy Controller 可以具有的状态集。

枚举
LIFECYCLE_STATE_UNSPECIFIED 未指定生命周期状态。
NOT_INSTALLED 给定集群中不存在 PC,并且其中不应存在与 PC 关联的任何类型的 k8s 资源。集群不拥有 PCH 的成员资格。
INSTALLING PCH 拥有成员资格,但 PC 未完全安装在集群上。在此状态下,hub 可以执行操作以在集群上安装 PC。
ACTIVE PC 已完全安装在集群上,并处于运行模式。在此状态下,PCH 将与 PC 协调状态,PC 将根据该软件执行操作任务。进入 READY 状态要求 hub 确认 PC 已安装,且其 Pod 可与 PCH 期望的 PC 版本一起运行。
UPDATING PC 已完全安装,但正在更改集群上运行的资源的配置(包括向上或向下更改 PC 的版本,或是修改 PC 的清单)。PCH 具有成员资格,知道集群应运行的版本,但尚未自己确认 PC 正在使用该版本运行。
DECOMMISSIONING PC 可能具有集群上的资源,但 PCH 希望移除成员资格。成员资格仍然存在。
CLUSTER_ERROR PC 未运行,PCH 无法采取行动使其运行。如果 PCH 确定集群上安装的 PC 无法运行,或者集群不满足为使 PCH 可管理集群而设置的要求,但仍收到了执行此操作的指令(例如“安装”),则会自动进入 CLUSTER_ERROR 状态。
HUB_ERROR 在此状态下,PC 可能仍在运行,只有 PCH 无法执行操作。Hub 不应发出更改 PC 状态的指令,或以其他方式干扰集群上的资源。如果 PCH 确定 Hub 处于健康状况不佳状态,并希望“放手”以避免损坏 PC 或其他数据,则会自动进入 HUB_ERROR 状态。
SUSPENDED Policy Controller (PC) 已安装,但已暂停。这意味着系统不会强制执行政策,但仍会记录违规行为(通过审核)。
DETACHED PoCo Hub 不会执行任何操作来协调集群对象。PoCo Hub 不会覆盖对这些对象进行的更改。

MonitoringConfig

MonitoringConfig 指定 Policy Controller 应将指标导出到的后端。例如,如需指定指标应导出到 Cloud Monitoring 和 Prometheus,请指定后端:["cloudmonitoring", "prometheus"]

字段
backends[]

MonitoringConfig.MonitoringBackend

指定 Policy Controller 将导出到的后端的列表。空列表实际上会停用指标导出。

MonitoringBackend

受支持的监控后端选项

枚举
MONITORING_BACKEND_UNSPECIFIED 无法确定后端
PROMETHEUS Prometheus 后端用于监控
CLOUD_MONITORING Stackdriver/Cloud Monitoring 后端用于监控

OnClusterState

OnClusterState 表示 Policy Controller 的子组件的状态。

字段
state

MembershipState.LifecycleState

此组件的生命周期状态。

details

string

显示潜在的错误或信息日志。

PolicyContentSpec

PolicyContentSpec 定义用户在集群上所需的内容配置。

字段
bundles

map<string, BundleInstallSpec>

软件包名称与 BundleInstallSpec 的映射。软件包名称映射到限制条件的 policycontroller.gke.io/constraintData 注解中的 bundleName 键。

template_library

TemplateLibraryConfig

配置模板库的安装。

PolicyContentState

Policy Controller 政策内容的状态

字段
template_library_state

OnClusterState

模板库的状态

bundle_states

map<string, OnClusterState>

所选清单版本中包含的任何软件包的状态

referential_sync_config_state

OnClusterState

参照数据同步配置的状态。这可以表示 syncSet 对象或配置对象的状态,具体取决于用户配置的 PoCo 版本。

PolicyControllerDeploymentConfig

特定于部署的配置。

字段
pod_tolerations[]

PolicyControllerDeploymentConfig.Toleration

Pod 对节点污点的容忍。

pod_affinity

PolicyControllerDeploymentConfig.Affinity

Pod 亲和性配置。

replica_count

int64

Pod 副本数量。

container_resources

ResourceRequirements

容器资源要求。

pod_anti_affinity
(deprecated)

bool

Pod 反亲和性启用。已弃用:请改用 pod_affinity

亲和性

部署使用的 pod 亲和性配置。

枚举
AFFINITY_UNSPECIFIED 未指定亲和性配置。
NO_AFFINITY 亲和性配置将从部署中移除。
ANTI_AFFINITY 反亲和性配置将应用于此部署。准入部署的默认值。

容忍

节点污点的容忍。

字段
key

string

匹配污点键(不一定是唯一的)。

operator

string

匹配污点运算符。

value

string

匹配污点值。

effect

string

匹配污点效果。

资源列表

ResourceList 包含容器资源要求。

字段
memory

string

以 Kubernetes 资源单元表示的内存要求。

cpu

string

以 Kubernetes 资源单元表示的 CPU 要求。

资源要求

ResourceRequirements 描述计算资源要求。

字段
limits

ResourceList

限制描述正在运行的容器可以使用的计算资源数量上限。

requests

ResourceList

请求描述 kube-scheduler 为容器预留的计算资源数量。

TemplateLibraryConfig

用于指定要安装的默认库模板的配置。

字段
installation

TemplateLibraryConfig.Installation

配置在集群上安装模板库的方式。

安装

指定应如何安装模板库

枚举
INSTALLATION_UNSPECIFIED 未指定安装策略。
NOT_INSTALLED 不安装模板库。
ALL 安装整个模板库。