REST Resource: projects.locations.features

资源:Feature

Feature 可定义任何 Hub 特征的设置和状态。

JSON 表示法
{
  "name": string,
  "labels": {
    string: string,
    ...
  },
  "resourceState": {
    object (FeatureResourceState)
  },
  "spec": {
    object (CommonFeatureSpec)
  },
  "membershipSpecs": {
    string: {
      object (MembershipFeatureSpec)
    },
    ...
  },
  "state": {
    object (CommonFeatureState)
  },
  "membershipStates": {
    string: {
      object (MembershipFeatureState)
    },
    ...
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "fleetDefaultMemberConfig": {
    object (CommonFleetDefaultMemberConfigSpec)
  },
  "scopeSpecs": {
    string: {
      object (ScopeFeatureSpec)
    },
    ...
  },
  "scopeStates": {
    string: {
      object (ScopeFeatureState)
    },
    ...
  }
}
字段
name

string

仅限输出。此特征资源的完整唯一名称,格式为 projects/*/locations/*/features/*

labels

map (key: string, value: string)

此特征的标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

resourceState

object (FeatureResourceState)

仅限输出。特征资源本身的状态。

spec

object (CommonFeatureSpec)

可选。Hub 级特征配置。如果此特征不支持任何 Hub 级配置,则可不使用此字段。

membershipSpecs

map (key: string, value: object (MembershipFeatureSpec))

可选。此特征的成员资格特定配置。如果此特征不支持任何基于成员资格的配置,则可不使用此字段。

可通过相应键来指定要应用配置的成员资格,格式如下:

projects/{p}/locations/{l}/memberships/{m}

其中,{p} 是一个项目,{l} 是一个有效位置,{m} 则是此项目中该位置的一个有效成员资格。{p} 对应于特征的项目。

{p} 将始终以项目编号形式返回,但在输入阶段也支持输入项目 ID。如果在映射中指定了同一个成员资格两次(即分别采用项目 ID 形式和项目编号形式),则只有其中一个条目会被保存下来,但无法保证确切是哪一个条目将被保存。因此,建议在更改特征时对所有条目使用相同的格式。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

state

object (CommonFeatureState)

仅限输出。Hub 级特征状态。

membershipStates

map (key: string, value: object (MembershipFeatureState))

仅限输出。特定于成员资格的特征状态。如果此特征报告任何基于成员资格的状态,则可不使用此字段。

可通过相应键来指定要应用状态的成员资格,格式如下:

projects/{p}/locations/{l}/memberships/{m}

其中,{p} 是一个项目编号,{l} 是一个有效位置,{m} 则是此项目中该位置的一个有效成员资格。{p} 必须对应于特征的项目编号。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

仅限输出。特征资源的创建时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅限输出。特征资源的上次更新时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteTime

string (Timestamp format)

仅限输出。特征资源被删除的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

fleetDefaultMemberConfig

object (CommonFleetDefaultMemberConfigSpec)

可选。要应用于舰队所有成员资格的特征配置。

scopeSpecs

map (key: string, value: object (ScopeFeatureSpec))

可选。此特征的范围特定配置。如果此特征不支持任何基于范围的配置,则可不使用此字段。

可通过相应键来指定要应用配置的范围,格式如下:

projects/{p}/locations/global/scopes/{s}

其中,{p} 是相应项目,{s} 是此项目中的一个有效范围。{p} 对应于特征的项目。

{p} 将始终以项目编号形式返回,但在输入阶段也支持输入项目 ID。如果在映射中指定了同一个范围两次(即分别采用项目 ID 形式和项目编号形式),则只有其中一个条目会被保存下来,但无法保证确切是哪一个条目将被保存。因此,建议在更改特征时对所有条目使用相同的格式。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

scopeStates

map (key: string, value: object (ScopeFeatureState))

仅限输出。特定于范围的特征状态。如果此特征报告任何基于范围的状态,则可不使用此字段。

可通过相应键来指定要应用状态的范围,格式如下:

projects/{p}/locations/global/scopes/{s}

其中,{p} 是相应项目,{s} 是此项目中的一个有效范围。{p} 对应于特征的项目。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

FeatureResourceState

FeatureResourceState 定义 GkeHub API 中特征资源的状态。请参阅 FeatureState,了解 Hub 中以及各成员资格的特征的“运行状态”。

JSON 表示法
{
  "state": enum (FeatureResourceState.State)
}
字段
state

enum (FeatureResourceState.State)

Hub API 中特征资源的当前状态。

FeatureResourceState.State

State 定义特征的生命周期状态。

枚举
STATE_UNSPECIFIED 状态未知或未设置。
ENABLING 正在启用特征,并且正在创建特征资源。该阶段完成后,此 Hub 中将启用相应特征。
ACTIVE 此 Hub 中已启用相应特征,并且特征资源完全就绪。
DISABLING 正在此 Hub 中停用特征,并且正在删除相应特征资源。
UPDATING 正在更新特征资源。
SERVICE_UPDATING Hub 服务正在更新特征资源。

CommonFeatureSpec

CommonFeatureSpec 包含 Hub 级配置信息

JSON 表示法
{

  // Union field feature_spec can be only one of the following:
  "multiclusteringress": {
    object (FeatureSpec)
  },
  "appdevexperience": {
    object (AppDevExperienceFeatureSpec)
  },
  "anthosobservability": {
    object (AnthosObservabilityFeatureSpec)
  },
  "fleetobservability": {
    object (FeatureSpec)
  },
  "clusterupgrade": {
    object (FleetSpec)
  },
  "dataplanev2": {
    object (FeatureSpec)
  }
  // End of list of possible types for union field feature_spec.
}
字段

联合字段 feature_spec

feature_spec 只能是下列其中一项:

multiclusteringress

object (FeatureSpec)

多集群 Ingress 特定规范。

appdevexperience

object (AppDevExperienceFeatureSpec)

Appdevexperience 特定规范。

anthosobservability

object (AnthosObservabilityFeatureSpec)

Anthos 可观测性规范

fleetobservability

object (FeatureSpec)

FleetObservability 特征规范。

clusterupgrade

object (FleetSpec)

ClusterUpgrade(舰队级)特征规范。

dataplanev2

object (FeatureSpec)

DataplaneV2 特征规范。

特征规范 (feature spec)

多集群 Ingress:MultiClusterIngress 特征的配置。

JSON 表示法
{
  "configMembership": string,
  "billing": enum (Billing)
}
字段
configMembership

string

托管 MultiClusterIngress CRD 的完全限定成员资格名称。示例:projects/foo-proj/locations/global/memberships/bar

billing
(deprecated)

enum (Billing)

已弃用:此字段将被忽略,不应进行设置。客户的结算结构。

结算

已弃用:不再使用 FeatureSpec.billing 字段。Billing 用于标识客户所使用的结算结构。

枚举
BILLING_UNSPECIFIED 未知
PAY_AS_YOU_GO 用户按端点付费。
ANTHOS_LICENSE 用户需要支付 Anthos 整体的费用。

AnthosObservabilityFeatureSpec

Anthos 可观测性:规范

JSON 表示法
{
  "defaultMembershipSpec": {
    object (AnthosObservabilityMembershipSpec)
  }
}
字段
defaultMembershipSpec

object (AnthosObservabilityMembershipSpec)

未配置成员资格的默认成员资格规范

AnthosObservabilityMembershipSpec

Anthosobservability:基于成员资格的特征规范。

JSON 表示法
{
  "enableStackdriverOnApplications": boolean,
  "doNotOptimizeMetrics": boolean,
  "version": string
}
字段
enableStackdriverOnApplications

boolean

启用从用户应用收集和报告指标和日志的功能。

doNotOptimizeMetrics

boolean

使用全部指标,而不仅仅是优化指标。请参阅 https://cloud.google.com/anthos/clusters/docs/on-prem/1.8/concepts/logging-and-monitoring#optimized_metrics_default_metrics

version

string

此特征使用的 Stackdriver Operator 版本

FeatureSpec

舰队可观测性:FleetObservability 特征的 Hub 级输入。

JSON 表示法
{
  "loggingConfig": {
    object (LoggingConfig)
  }
}
字段
loggingConfig

object (LoggingConfig)

如果要为整个舰队启用舰队日志记录特征,则指定此字段。如果为 UNSPECIFIED,则整个舰队会停用舰队日志记录特征。

LoggingConfig

LoggingConfig 定义不同类型的日志的配置。

JSON 表示法
{
  "defaultConfig": {
    object (RoutingConfig)
  },
  "fleetScopeLogsConfig": {
    object (RoutingConfig)
  }
}
字段
defaultConfig

object (RoutingConfig)

如果要将默认路由配置应用于其他配置中未指定的日志,则指定此字段。

fleetScopeLogsConfig

object (RoutingConfig)

如果要将路由配置应用于所有舰队范围的所有日志,则指定此字段。

RoutingConfig

RoutingConfig 配置舰队日志记录特征的行为。

JSON 表示法
{
  "mode": enum (RoutingConfig.Mode)
}
字段
mode

enum (RoutingConfig.Mode)

mode 配置日志路由模式。

RoutingConfig.Mode

在启用了舰队日志记录特征时指定。

枚举
MODE_UNSPECIFIED 如果为 UNSPECIFIED,则停用舰队日志记录特征。
COPY 日志将复制到目标项目。
MOVE 日志将移至目标项目。

FleetSpec

ClusterUpgrade:舰队级 ClusterUpgrade 特征的配置。

JSON 表示法
{
  "upstreamFleets": [
    string
  ],
  "postConditions": {
    object (PostConditions)
  },
  "gkeUpgradeOverrides": [
    {
      object (GKEUpgradeOverride)
    }
  ]
}
字段
upstreamFleets[]

string

此舰队会使用上游舰队中具有 COMPLETE 状态代码的升级。有关代码定义,请参阅 UpgradeStatus.Code。

舰队名称应为舰队项目编号或 ID。

出于面向未来的原因,这被定义为重复使用。初始实现最多强制执行一个上游舰队。

postConditions

object (PostConditions)

必需。将升级标记为 COMPLETE 时要评估的后置条件。必填。

gkeUpgradeOverrides[]

object (GKEUpgradeOverride)

允许用户替换每次 GKE 升级的某些属性。

PostConditions

对所有符合条件的集群应用升级后进行的后置条件检查。

JSON 表示法
{
  "soaking": string
}
字段
soaking

string (Duration format)

必需。在部署完成之后、标记为 COMPLETE 之前“过渡”的时间量。不能超过 30 天。 必填。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

GKEUpgradeOverride

可由用户替换的 GKE 升级属性。例如,用户可以通过将过渡替换为 0 来跳过过渡。

JSON 表示法
{
  "upgrade": {
    object (GKEUpgrade)
  },
  "postConditions": {
    object (PostConditions)
  }
}
字段
upgrade

object (GKEUpgrade)

必需。要替换的升级。必填。

postConditions

object (PostConditions)

必需。要对指定升级(名称 + 版本)替换的后置条件。必填。

GKEUpgrade

GKEUpgrade 表示 GKE 提供的升级,例如控制平面升级。

JSON 表示法
{
  "name": string,
  "version": string
}
字段
name

string

升级的名称,例如:“k8s_control_plane”。它应该是有效升级名称。不能超过 99 个字符。

version

string

升级的版本,例如:“1.22.1-gke.100”。它应该是有效版本。不能超过 99 个字符。

特征规范 (feature spec)

Dataplane V2:规范

JSON 表示法
{
  "enableEncryption": boolean
}
字段
enableEncryption

boolean

为多个集群启用基于 dataplane-v2 的加密。

MembershipFeatureSpec

MembershipFeatureSpec 包含单个成员资格的配置信息。注意:特征名称请采用蛇形命名法。

JSON 表示法
{
  "origin": {
    object (MembershipFeatureSpec.Origin)
  },

  // Union field feature_spec can be only one of the following:
  "configmanagement": {
    object (MembershipSpec)
  },
  "cloudbuild": {
    object (MembershipSpec)
  },
  "identityservice": {
    object (MembershipSpec)
  },
  "mesh": {
    object (MembershipSpec)
  },
  "anthosobservability": {
    object (AnthosObservabilityMembershipSpec)
  },
  "policycontroller": {
    object (MembershipSpec)
  },
  "fleetobservability": {
    object (MembershipSpec)
  }
  // End of list of possible types for union field feature_spec.
}
字段
origin

object (MembershipFeatureSpec.Origin)

指定该基于成员资格的规范是否继承自舰队级默认配置。用户可以通过替换成员资格配置(即隐式更新为 USER)或明确设置为 FLEET 来更新此字段。

联合字段 feature_spec

feature_spec 只能是下列其中一项:

configmanagement

object (MembershipSpec)

Config Management 特定规范。

cloudbuild

object (MembershipSpec)

Cloud Build 特定规范

identityservice

object (MembershipSpec)

Identity Service 特定规范。

mesh

object (MembershipSpec)

Anthos Service Mesh 特定规范

anthosobservability

object (AnthosObservabilityMembershipSpec)

Anthos 可观测性特定规范

policycontroller

object (MembershipSpec)

Policy Controller 规范。

fleetobservability

object (MembershipSpec)

舰队可观测性成员资格规范

MembershipSpec

Anthos Config Management:单个集群的配置。旨在与 ConfigManagement CR 并行执行。

JSON 表示法
{
  "configSync": {
    object (ConfigSync)
  },
  "policyController": {
    object (PolicyController)
  },
  "binauthz": {
    object (BinauthzConfig)
  },
  "hierarchyController": {
    object (HierarchyControllerConfig)
  },
  "version": string,
  "cluster": string
}
字段
configSync

object (ConfigSync)

集群的 Config Sync 配置。

policyController

object (PolicyController)

集群的 Policy Controller 配置。

binauthz
(deprecated)

object (BinauthzConfig)

集群的 Binauthz 配置。已弃用:此字段将被忽略,不应进行设置。

hierarchyController

object (HierarchyControllerConfig)

集群的 Hierarchy Controller 配置。

version

string

已安装的 ACM 的版本。

cluster

string

Config Sync cluster-name-selector 注解或 ClusterSelector 使用的用户指定的集群名称,用于将配置仅应用于部分集群。如果 Config Sync cluster-name-selector 注解或 ClusterSelector 使用集群的舰队成员资格名称,请省略此字段。如果 Config Sync cluster-name-selector 注解或 ClusterSelector 使用的名称与集群的舰队成员资格名称不同,请设置此字段。

ConfigSync

Config Sync 的配置

JSON 表示法
{
  "git": {
    object (GitConfig)
  },
  "sourceFormat": string,
  "preventDrift": boolean,
  "oci": {
    object (OciConfig)
  },
  "allowVerticalScale": boolean,
  "metricsGcpServiceAccountEmail": string,
  "enabled": boolean
}
字段
git

object (GitConfig)

集群的 Git 代码库配置。

sourceFormat

string

指定 Config Sync 代码库是采用“分层”模式还是“非结构化”模式。

preventDrift

boolean

设置为 true 可启用 Config Sync 准入 webhook 以防止偏移。如果设置为 false,则系统会停用 Config Sync 准入 webhook,不会阻止偏移。

oci

object (OciConfig)

集群的 OCI 代码库配置

allowVerticalScale
(deprecated)

boolean

设置为 true 允许纵向扩缩。默认为 false,不允许纵向扩缩。此字段已弃用。

metricsGcpServiceAccountEmail

string

启用 Workload Identity 后,用于将 Config Sync 指标导出到 Cloud Monitoring 和 Cloud Monarch 的 Google Cloud 服务账号 (GSA) 的电子邮件地址。GSA 应具有 Monitoring Metric Writer (roles/monitoring.metricWriter) IAM 角色。命名空间 config-management-monitoring 中的 Kubernetes ServiceAccount default 应绑定到 GSA。

enabled

boolean

允许安装 ConfigSync。如果设置为 true,则系统会创建 ConfigSync 资源,并应用其他 ConfigSync 字段(如果存在)。如果设置为 false,则所有其他 ConfigSync 字段都会被忽略,并且 ConfigSync 资源会被删除。如果省略,则系统会根据是否存在 git 或 oci 字段来管理 ConfigSync 资源。

GitConfig

单个集群的 Git 代码库配置。

JSON 表示法
{
  "syncRepo": string,
  "syncBranch": string,
  "policyDir": string,
  "syncWaitSecs": string,
  "syncRev": string,
  "secretType": string,
  "httpsProxy": string,
  "gcpServiceAccountEmail": string
}
字段
syncRepo

string

用作可靠来源的 Git 代码库的网址。

syncBranch

string

要用作同步来源的代码库分支。默认值:master。

policyDir

string

Git 代码库中的路径,表示要同步的代码库的顶层目录。默认值:代码库的根目录。

syncWaitSecs

string (int64 format)

连续的同步操作之间的时长(以秒为单位)。默认值:15。

syncRev

string

要获取的 Git 修订版本(标记或哈希)。默认值:HEAD。

secretType

string

为访问 Git 代码库而配置的 Secret 的类型。必须是 ssh、cookiefile、gcenode、token、gcpserviceaccount 或 none 之一。此字段的验证区分大小写。必填。

httpsProxy

string

与 Git 代码库通信时要使用的 HTTPS 代理的网址。

gcpServiceAccountEmail

string

当 secretType 为 gcpServiceAccount 时用于身份验证的 Google Cloud 服务账号的电子邮件地址。

OciConfig

单个集群的 OCI 代码库配置

JSON 表示法
{
  "syncRepo": string,
  "policyDir": string,
  "syncWaitSecs": string,
  "secretType": string,
  "gcpServiceAccountEmail": string
}
字段
syncRepo

string

要从中同步的软件包的 OCI 映像代码库网址,例如 LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME

policyDir

string

包含本地资源的目录的绝对路径。默认值:映像的根目录。

syncWaitSecs

string (int64 format)

连续两次同步操作之间的间隔时长(以秒为单位)。默认值:15。

secretType

string

为访问 Git 代码库而配置的 Secret 的类型。

gcpServiceAccountEmail

string

当 secretType 为 gcpServiceAccount 时用于身份验证的 Google Cloud 服务账号的电子邮件地址。

PolicyController

政策控制器的配置

JSON 表示法
{
  "enabled": boolean,
  "exemptableNamespaces": [
    string
  ],
  "referentialRulesEnabled": boolean,
  "logDeniesEnabled": boolean,
  "mutationEnabled": boolean,
  "monitoring": {
    object (PolicyControllerMonitoring)
  },
  "updateTime": string,
  "templateLibraryInstalled": boolean,
  "auditIntervalSeconds": string
}
字段
enabled

boolean

允许安装 Policy Controller。如果为 false,则其余的 PolicyController 字段不会生效。

exemptableNamespaces[]

string

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

referentialRulesEnabled

boolean

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

logDeniesEnabled

boolean

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

mutationEnabled

boolean

在 Policy Controller 中启用或停用变更。如果为 true,则变更 CRD、webhook 和控制器部署将部署到集群。

monitoring

object (PolicyControllerMonitoring)

Monitoring 指定监控配置。

updateTime

string (Timestamp format)

仅限输出。此成员资格规范的上次更新时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

templateLibraryInstalled

boolean

安装 Policy Controller 及默认模板库。

auditIntervalSeconds

string (int64 format)

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

PolicyControllerMonitoring

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

JSON 表示法
{
  "backends": [
    enum (PolicyControllerMonitoring.MonitoringBackend)
  ]
}
字段
backends[]

enum (PolicyControllerMonitoring.MonitoringBackend)

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

PolicyControllerMonitoring.MonitoringBackend

受支持的监控后端选项

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

BinauthzConfig

Binauthz 配置

JSON 表示法
{
  "enabled": boolean
}
字段
enabled

boolean

指定此集群中是否启用了 binauthz。

HierarchyControllerConfig

层次结构控制器的配置

JSON 表示法
{
  "enabled": boolean,
  "enablePodTreeLabels": boolean,
  "enableHierarchicalResourceQuota": boolean
}
字段
enabled

boolean

此集群中是否启用了 Hierarchy Controller。

enablePodTreeLabels

boolean

指定此集群中是否启用了 Pod 树标签。

enableHierarchicalResourceQuota

boolean

指定此集群中是否启用了分层资源配额。

MembershipSpec

Cloud Build:每个启用了 Cloud Build 的集群的配置。

JSON 表示法
{
  "version": string,
  "securityPolicy": enum (MembershipSpec.SecurityPolicy)
}
字段
version

string

集群上 Cloud Build 软件的版本。

securityPolicy

enum (MembershipSpec.SecurityPolicy)

是否允许在集群上运行特权构建。

MembershipSpec.SecurityPolicy

可以对集群应用的不同安全政策。

枚举
SECURITY_POLICY_UNSPECIFIED 未指定政策
NON_PRIVILEGED 不允许使用特权构建 pod
PRIVILEGED 允许使用特权构建 pod

MembershipSpec

Anthos Identity Service:单个成员资格的配置。

JSON 表示法
{
  "authMethods": [
    {
      object (MembershipSpec.AuthMethod)
    }
  ]
}
字段
authMethods[]

object (MembershipSpec.AuthMethod)

一个成员可以支持多种身份验证方法。

MembershipSpec.AuthMethod

成员/集群的身份验证方法配置。对每个 AuthMethod 只能设置一种身份验证方法(例如 OIDC 和 LDAP)。

JSON 表示法
{
  "name": string,
  "proxy": string,

  // Union field auth_config can be only one of the following:
  "oidcConfig": {
    object (MembershipSpec.AuthMethod.OidcConfig)
  },
  "azureadConfig": {
    object (MembershipSpec.AuthMethod.AzureADConfig)
  },
  "googleConfig": {
    object (MembershipSpec.AuthMethod.GoogleConfig)
  }
  // End of list of possible types for union field auth_config.
}
字段
name

string

身份验证配置的标识符。

proxy

string

用于身份验证方法的代理服务器地址。

联合字段 auth_config。支持的身份验证配置。auth_config 只能是下列其中一项:
oidcConfig

object (MembershipSpec.AuthMethod.OidcConfig)

OIDC 特定配置。

azureadConfig

object (MembershipSpec.AuthMethod.AzureADConfig)

AzureAD 特定配置。

googleConfig

object (MembershipSpec.AuthMethod.GoogleConfig)

GoogleConfig 特定配置。

MembershipSpec.AuthMethod.OidcConfig

OIDC 身份验证流程的配置。

JSON 表示法
{
  "clientId": string,
  "certificateAuthorityData": string,
  "issuerUri": string,
  "kubectlRedirectUri": string,
  "scopes": string,
  "extraParams": string,
  "userClaim": string,
  "userPrefix": string,
  "groupsClaim": string,
  "groupPrefix": string,
  "deployCloudConsoleProxy": boolean,
  "clientSecret": string,
  "encryptedClientSecret": string,
  "enableAccessToken": boolean
}
字段
clientId

string

OIDC 客户端应用的 ID。

certificateAuthorityData

string

OIDC 提供方的 PEM 编码证书授权机构 (CA)。

issuerUri

string

OIDC 提供方的 URI。这应指向 .well-known/openid-configuration 以下的级别。

kubectlRedirectUri

string

已注册的重定向 URI,用于使用 kubectl 插件重定向经历 OAuth 流程的用户。

scopes

string

标识符的逗号分隔列表。

extraParams

string

键值对的逗号分隔列表。

userClaim

string

OIDC ID 令牌中包含用户名的声明。

userPrefix

string

附加到用户名的前缀。

groupsClaim

string

OIDC ID 令牌中包含组信息的声明。

groupPrefix

string

附加到组名称的前缀。

deployCloudConsoleProxy

boolean

用于表示是否使用反向代理连接到身份验证提供方的标志。当 Google Cloud 控制台无法访问提供方时,此标志应设置为 true。

clientSecret

string

仅限输入。未加密的 OIDC 客户端密钥将传递给 GKE Hub CLH。

encryptedClientSecret

string (bytes format)

仅限输出。加密的 OIDC 客户端密钥

使用 base64 编码的字符串。

enableAccessToken

boolean

启用访问令牌。

MembershipSpec.AuthMethod.AzureADConfig

AzureAD 身份验证流程的配置。

JSON 表示法
{
  "clientId": string,
  "tenant": string,
  "kubectlRedirectUri": string,
  "clientSecret": string,
  "encryptedClientSecret": string
}
字段
clientId

string

向 Azure AD 身份提供方发出身份验证请求的已注册客户端应用的 ID。

tenant

string

要进行身份验证的 Azure AD 账号的种类。对于属于特定租户的账号,支持的值为

kubectlRedirectUri

string

kubectl 用于授权的重定向网址。

clientSecret

string

仅限输入。未加密的 AzureAD 客户端密钥将传递给 GKE Hub CLH。

encryptedClientSecret

string (bytes format)

仅限输出。加密的 AzureAD 客户端密钥。

使用 base64 编码的字符串。

MembershipSpec.AuthMethod.GoogleConfig

Google 插件身份验证流程的配置。

JSON 表示法
{
  "disable": boolean
}
字段
disable

boolean

在支持的平台上停用 Google 插件的自动配置。

MembershipSpec

Service Mesh:servicemesh 特征的单个成员资格的规范

JSON 表示法
{
  "controlPlane": enum (MembershipSpec.ControlPlaneManagement),
  "management": enum (MembershipSpec.Management)
}
字段
controlPlane
(deprecated)

enum (MembershipSpec.ControlPlaneManagement)

已弃用:请改用 management 来启用控制平面的自动管理功能。

management

enum (MembershipSpec.Management)

启用 Service Mesh 的自动管理功能。

MembershipSpec.ControlPlaneManagement

指定是否自动管理 Service Mesh 控制平面。

枚举
CONTROL_PLANE_MANAGEMENT_UNSPECIFIED 未指定
AUTOMATIC Google 应预配控制平面修订版本,并在集群中提供该修订版本。Google 将在发布渠道中注册此修订版本,并使其保持最新。控制平面修订版本可以是托管式服务,也可以是托管式安装。
MANUAL 用户将手动配置控制平面(例如通过 CLI 或通过 ControlPlaneRevision KRM API)

MembershipSpec.Management

指定是否自动管理 Service Mesh。

枚举
MANAGEMENT_UNSPECIFIED 未指定
MANAGEMENT_AUTOMATIC Google 应负责管理用户的集群的服务网格。
MANAGEMENT_MANUAL 用户将手动配置其服务网格组件。

MembershipSpec

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

JSON 表示法
{
  "policyControllerHubConfig": {
    object (HubConfig)
  },
  "version": string
}
字段
policyControllerHubConfig

object (HubConfig)

集群的 Policy Controller 配置。

version

string

已安装的 Policy Controller 的版本。

HubConfig

政策控制器的配置

JSON 表示法
{
  "installSpec": enum (HubConfig.InstallSpec),
  "exemptableNamespaces": [
    string
  ],
  "referentialRulesEnabled": boolean,
  "logDeniesEnabled": boolean,
  "mutationEnabled": boolean,
  "deploymentConfigs": {
    string: {
      object (PolicyControllerDeploymentConfig)
    },
    ...
  },
  "auditIntervalSeconds": string,
  "monitoring": {
    object (MonitoringConfig)
  },
  "policyContent": {
    object (PolicyContentSpec)
  },
  "constraintViolationLimit": string
}
字段
installSpec

enum (HubConfig.InstallSpec)

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

exemptableNamespaces[]

string

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

referentialRulesEnabled

boolean

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

logDeniesEnabled

boolean

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

mutationEnabled

boolean

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

deploymentConfigs

map (key: string, value: object (PolicyControllerDeploymentConfig))

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

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

auditIntervalSeconds

string (int64 format)

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

monitoring

object (MonitoringConfig)

Monitoring 指定监控配置。

policyContent

object (PolicyContentSpec)

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

constraintViolationLimit

string (int64 format)

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

HubConfig.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 影响集群资源。

MonitoringConfig

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

JSON 表示法
{
  "backends": [
    enum (MonitoringConfig.MonitoringBackend)
  ]
}
字段
backends[]

enum (MonitoringConfig.MonitoringBackend)

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

MonitoringConfig.MonitoringBackend

受支持的监控后端选项

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

PolicyContentSpec

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

JSON 表示法
{
  "bundles": {
    string: {
      object (BundleInstallSpec)
    },
    ...
  },
  "templateLibrary": {
    object (TemplateLibraryConfig)
  }
}
字段
bundles

map (key: string, value: object (BundleInstallSpec))

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

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

templateLibrary

object (TemplateLibraryConfig)

配置模板库的安装。

BundleInstallSpec

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

JSON 表示法
{
  "exemptedNamespaces": [
    string
  ]
}
字段
exemptedNamespaces[]

string

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

TemplateLibraryConfig

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

JSON 表示法
{
  "installation": enum (TemplateLibraryConfig.Installation)
}
字段
installation

enum (TemplateLibraryConfig.Installation)

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

TemplateLibraryConfig.Installation

指定应如何安装模板库

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

PolicyControllerDeploymentConfig

特定于部署的配置。

JSON 表示法
{
  "podTolerations": [
    {
      object (PolicyControllerDeploymentConfig.Toleration)
    }
  ],
  "podAffinity": enum (PolicyControllerDeploymentConfig.Affinity),
  "replicaCount": string,
  "containerResources": {
    object (ResourceRequirements)
  },
  "podAntiAffinity": boolean
}
字段
podTolerations[]

object (PolicyControllerDeploymentConfig.Toleration)

Pod 对节点污点的容忍。

podAffinity

enum (PolicyControllerDeploymentConfig.Affinity)

Pod 亲和性配置。

replicaCount

string (int64 format)

Pod 副本数量。

containerResources

object (ResourceRequirements)

容器资源要求。

podAntiAffinity
(deprecated)

boolean

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

资源要求

ResourceRequirements 描述计算资源要求。

JSON 表示法
{
  "limits": {
    object (ResourceList)
  },
  "requests": {
    object (ResourceList)
  }
}
字段
limits

object (ResourceList)

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

requests

object (ResourceList)

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

资源列表

ResourceList 包含容器资源要求。

JSON 表示法
{
  "memory": string,
  "cpu": string
}
字段
memory

string

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

cpu

string

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

PolicyControllerDeploymentConfig.Toleration

节点污点的容忍。

JSON 表示法
{
  "key": string,
  "operator": string,
  "value": string,
  "effect": string
}
字段
key

string

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

operator

string

匹配污点运算符。

value

string

匹配污点值。

effect

string

匹配污点效果。

PolicyControllerDeploymentConfig.Affinity

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

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

MembershipSpec

此类型没有字段。

FleetObservability:FleetObservability 特征的成员资格特定输入。

MembershipFeatureSpec.Origin

Origin 定义此 MembershipFeatureSpec 的来源。

JSON 表示法
{
  "type": enum (MembershipFeatureSpec.Origin.Type)
}
字段
type

enum (MembershipFeatureSpec.Origin.Type)

“type”指定所设置的来源类型。

MembershipFeatureSpec.Origin.Type

Type 指定保留配置的角色。

枚举
TYPE_UNSPECIFIED 类型未知或未设置。
FLEET 基于成员资格的规范继承自舰队级默认配置。
FLEET_OUT_OF_SYNC 基于成员资格的规范继承自舰队级默认配置,但目前与最新的默认配置不同步。
USER 基于成员资格的规范继承自用户规范。

CommonFeatureState

CommonFeatureState 包含 Hub 级特征状态信息。

JSON 表示法
{
  "state": {
    object (FeatureState)
  },

  // Union field feature_state can be only one of the following:
  "appdevexperience": {
    object (AppDevExperienceFeatureState)
  },
  "fleetobservability": {
    object (FeatureState)
  },
  "clusterupgrade": {
    object (FleetState)
  }
  // End of list of possible types for union field feature_state.
}
字段
state

object (FeatureState)

仅限输出。此 Hub 中特征的“运行状态”。

联合字段 feature_state

feature_state 只能是下列其中一项:

appdevexperience

object (AppDevExperienceFeatureState)

Appdevexperience 特定状态。

fleetobservability

object (FeatureState)

FleetObservability 特征状态。

clusterupgrade

object (FleetState)

ClusterUpgrade 舰队级状态。

FeatureState

FleetObservability:FleetObservability 特征状态的 Hub 级特征。

JSON 表示法
{
  "logging": {
    object (FleetObservabilityLoggingState)
  },
  "monitoring": {
    object (FleetObservabilityMonitoringState)
  }
}
字段
logging

object (FleetObservabilityLoggingState)

默认日志记录的特征状态。

monitoring

object (FleetObservabilityMonitoringState)

舰队监控的特征状态。

FleetObservabilityLoggingState

日志记录特征的特征状态。

JSON 表示法
{
  "defaultLog": {
    object (FleetObservabilityBaseFeatureState)
  },
  "scopeLog": {
    object (FleetObservabilityBaseFeatureState)
  }
}
字段
defaultLog

object (FleetObservabilityBaseFeatureState)

舰队默认日志的基本特征状态。

scopeLog

object (FleetObservabilityBaseFeatureState)

舰队范围日志的基本特征状态。

FleetObservabilityBaseFeatureState

舰队可观测性特征的基本状态。

JSON 表示法
{
  "code": enum (FleetObservabilityBaseFeatureState.Code),
  "errors": [
    {
      object (FleetObservabilityBaseFeatureState.FeatureError)
    }
  ]
}
字段
code

enum (FleetObservabilityBaseFeatureState.Code)

此特征的机器可读概要状态。

errors[]

object (FleetObservabilityBaseFeatureState.FeatureError)

当代码不是“OK”时,在协调监控和日志记录特征后出现的错误。

FleetObservabilityBaseFeatureState.Code

Code 定义特征的机器可读概要状态。

枚举
CODE_UNSPECIFIED 未知或未设置。
OK 特征正常运行。
ERROR 特征在协调过程中出现错误。特征可能需要干预才能恢复正常运行。有关详情,请参阅相应说明及任何特定于特征的相关详细信息。

FleetObservabilityBaseFeatureState.FeatureError

舰队可观测性特征的所有错误详细信息。

JSON 表示法
{
  "code": string,
  "description": string
}
字段
code

string

错误的代码。

description

string

人类可读的当前状态说明。

FleetObservabilityMonitoringState

监控特征的特征状态。

JSON 表示法
{
  "state": {
    object (FleetObservabilityBaseFeatureState)
  }
}
字段
state

object (FleetObservabilityBaseFeatureState)

舰队监控特征的基本特征状态。

FleetState

ClusterUpgrade:舰队级 ClusterUpgrade 特征的状态。

JSON 表示法
{
  "downstreamFleets": [
    string
  ],
  "ignored": {
    string: {
      object (IgnoredMembership)
    },
    ...
  },
  "gkeState": {
    object (GKEUpgradeFeatureState)
  }
}
字段
downstreamFleets[]

string

此舰队的 upstreamFleets 包含当前舰队。

舰队名称应为舰队项目编号或 ID。

ignored

map (key: string, value: object (IgnoredMembership))

特征忽略的成员资格的列表。例如,如果手动升级的集群比其发布渠道的默认版本更新,则可以忽略这些集群。成员资格资源的格式为:projects/{p}/locations/{l}/membership/{m}

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

gkeState

object (GKEUpgradeFeatureState)

GKE 集群的特征状态。

IgnoredMembership

IgnoredMembership 表示特征忽略的成员资格。成员资格可以忽略,因为它已手动升级到比 RC 默认版本更新的版本。

JSON 表示法
{
  "reason": string,
  "ignoredTime": string
}
字段
reason

string

成员资格被忽略的原因。

ignoredTime

string (Timestamp format)

成员资格首次被设置为忽略的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

GKEUpgradeFeatureState

GKEUpgradeFeatureState 包含范围内 GKE 集群的特征状态。

JSON 表示法
{
  "upgradeState": [
    {
      object (GKEUpgradeState)
    }
  ],
  "conditions": [
    {
      object (GKEUpgradeFeatureCondition)
    }
  ]
}
字段
upgradeState[]

object (GKEUpgradeState)

升级状态。它最终将取代 state

conditions[]

object (GKEUpgradeFeatureCondition)

特征的当前条件。

GKEUpgradeState

GKEUpgradeState 是一个 GKEUpgrade 及其在范围和舰队级的状态。

JSON 表示法
{
  "stats": {
    string: string,
    ...
  },
  "upgrade": {
    object (GKEUpgrade)
  },
  "status": {
    object (UpgradeStatus)
  }
}
字段
stats

map (key: string, value: string (int64 format))

具有每种状态代码的 GKE 集群数量。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

upgrade

object (GKEUpgrade)

要跟踪状态的升级。

status

object (UpgradeStatus)

升级的状态。

UpgradeStatus

UpgradeStatus 提供每次升级的状态信息。

JSON 表示法
{
  "code": enum (UpgradeStatus.Code),
  "reason": string,
  "updateTime": string
}
字段
code

enum (UpgradeStatus.Code)

升级的状态代码。

reason

string

返回此状态的原因。

updateTime

string (Timestamp format)

上次更新状态时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

UpgradeStatus.Code

升级的状态代码。

枚举
CODE_UNSPECIFIED https://linter.aip.dev/126/unspecified 需要此信息。
INELIGIBLE 升级不符合条件。在范围级,这意味着升级对于范围中的所有集群都不符合条件。
PENDING 升级待处理。在范围级,这意味着范围中的所有集群都在等待升级。
IN_PROGRESS 正在升级。在范围级,这意味着范围中的至少一个集群正在进行升级。
SOAKING 升级已完成,在进行过渡,直到过渡时间结束。在范围级,这意味着至少一个集群在进行过渡,而其余集群为过渡或完成状态。
FORCED_SOAKING 如果升级未在特定限制内完成,则集群将强制进入过渡状态,无论其实际状态如何。
COMPLETE 升级已通过所有后置条件(过渡)。在范围级,这意味着所有符合条件的集群都处于 COMPLETE 状态。

GKEUpgradeFeatureCondition

GKEUpgradeFeatureCondition 描述 GKE 集群在特定时间点的特征条件。

JSON 表示法
{
  "type": string,
  "status": string,
  "reason": string,
  "updateTime": string
}
字段
type

string

条件的类型,例如“ready”。

status

string

条件的状态,为 True、False、Unknown 之一。

reason

string

特征处于此状态的原因。

updateTime

string (Timestamp format)

上次更新条件时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

FeatureState

FeatureState 定义特征的概要状态;根据具体情境,可用于在环境级别或基于具体的成员资格定义特征的状态。

JSON 表示法
{
  "code": enum (FeatureState.Code),
  "description": string,
  "updateTime": string
}
字段
code

enum (FeatureState.Code)

此特征的机器可读概要状态。

description

string

人类可读的当前状态说明。

updateTime

string (Timestamp format)

此状态及任何特定于特征的相关详细信息的更新时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

FeatureState.Code

Code 定义特征的机器可读概要状态。

枚举
CODE_UNSPECIFIED 未知或未设置。
OK 特征正常运行。
WARNING 特征遇到问题,处于降级运行状态。特征可能需要干预才能恢复正常运行。有关详情,请参阅相应说明及任何特定于特征的相关详细信息。
ERROR 特征未运行或处于严重降级状态。特征可能需要干预才能恢复正常运行。有关详情,请参阅相应说明及任何特定于特征的相关详细信息。

MembershipFeatureState

MembershipFeatureState 包含单个成员资格的特征状态信息。

JSON 表示法
{
  "state": {
    object (FeatureState)
  },

  // Union field feature_state can be only one of the following:
  "servicemesh": {
    object (MembershipState)
  },
  "metering": {
    object (MembershipState)
  },
  "configmanagement": {
    object (MembershipState)
  },
  "identityservice": {
    object (MembershipState)
  },
  "appdevexperience": {
    object (AppDevExperienceFeatureState)
  },
  "policycontroller": {
    object (MembershipState)
  },
  "clusterupgrade": {
    object (MembershipState)
  },
  "fleetobservability": {
    object (MembershipState)
  }
  // End of list of possible types for union field feature_state.
}
字段
state

object (FeatureState)

单个成员资格此特征的概要状态。

联合字段 feature_state

feature_state 只能是下列其中一项:

servicemesh

object (MembershipState)

Service Mesh 特定状态。

metering

object (MembershipState)

计量特定状态。

configmanagement

object (MembershipState)

Config Management 特定状态。

identityservice

object (MembershipState)

Identity Service 特定状态。

appdevexperience

object (AppDevExperienceFeatureState)

Appdevexperience 特定状态。

policycontroller

object (MembershipState)

Policycontroller 特定状态。

clusterupgrade

object (MembershipState)

ClusterUpgrade 状态。

fleetobservability

object (MembershipState)

舰队可观测性成员资格状态。

MembershipState

Service Mesh:单个成员资格的状态,由 Service Mesh Hub Controller 分析提供。

JSON 表示法
{
  "controlPlaneManagement": {
    object (MembershipState.ControlPlaneManagement)
  },
  "dataPlaneManagement": {
    object (MembershipState.DataPlaneManagement)
  }
}
字段
controlPlaneManagement

object (MembershipState.ControlPlaneManagement)

仅限输出。控制平面管理状态

dataPlaneManagement

object (MembershipState.DataPlaneManagement)

仅限输出。数据平面管理状态。

MembershipState.ControlPlaneManagement

控制平面管理状态。

JSON 表示法
{
  "details": [
    {
      object (StatusDetails)
    }
  ],
  "state": enum (MembershipState.LifecycleState)
}
字段
details[]

object (StatusDetails)

状态说明。

state

enum (MembershipState.LifecycleState)

控制平面管理的生命周期状态。

StatusDetails

人类可读的结构化状态详细信息。

JSON 表示法
{
  "code": string,
  "details": string
}
字段
code

string

用于进一步描述状态的机器可读代码。

details

string

人类可读的代码说明。

MembershipState.LifecycleState

Service Mesh 组件的生命周期状态。

枚举
LIFECYCLE_STATE_UNSPECIFIED 未指定
DISABLED DISABLED 表示未启用组件。
FAILED_PRECONDITION FAILED_PRECONDITION 表示由于成员集群的某些因素导致预配无法继续完成。
PROVISIONING PROVISIONING 表示正在进行预配。
ACTIVE ACTIVE 表示组件已准备就绪,可供使用。
STALLED STALLED 表示无法完成预配。
NEEDS_ATTENTION NEEDS_ATTENTION 表示组件已准备就绪,但需要一些用户干预。(例如,需要用户将工作负载迁移到新的控制平面修订版本。)
DEGRADED DEGRADED 表示组件已准备就绪,但在降级状态下运行。

MembershipState.DataPlaneManagement

数据平面管理状态。仅针对具体成员报告。

JSON 表示法
{
  "state": enum (MembershipState.LifecycleState),
  "details": [
    {
      object (StatusDetails)
    }
  ]
}
字段
state

enum (MembershipState.LifecycleState)

数据平面管理的生命周期状态。

details[]

object (StatusDetails)

状态说明。

MembershipState

Metering:基于成员资格的特征状态。

JSON 表示法
{
  "lastMeasurementTime": string,
  "preciseLastMeasuredClusterVcpuCapacity": number
}
字段
lastMeasurementTime

string (Timestamp format)

最近一次测量集群中的 vCPU 数量时的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

preciseLastMeasuredClusterVcpuCapacity

number

根据最近的测量结果(1/1000 精度)计算的集群中的 vCPU 容量。

MembershipState

Anthos Config Management:单个集群的状态。

JSON 表示法
{
  "clusterName": string,
  "membershipSpec": {
    object (MembershipSpec)
  },
  "operatorState": {
    object (OperatorState)
  },
  "configSyncState": {
    object (ConfigSyncState)
  },
  "policyControllerState": {
    object (PolicyControllerState)
  },
  "binauthzState": {
    object (BinauthzState)
  },
  "hierarchyControllerState": {
    object (HierarchyControllerState)
  }
}
字段
clusterName

string

如果此字段不为空,则设置为成员资格规范的 clusterName 字段。否则,设置为集群的舰队成员资格名称。

membershipSpec

object (MembershipSpec)

集群中的成员资格配置。此字段表示集群中的实际状态,而 FeatureSpec 中的 MembershipSpec 表示预期状态

operatorState

object (OperatorState)

ACM Operator 的当前安装状态

configSyncState

object (ConfigSyncState)

当前同步状态

policyControllerState

object (PolicyControllerState)

PolicyController 状态

binauthzState

object (BinauthzState)

Binauthz 状态

hierarchyControllerState

object (HierarchyControllerState)

Hierarchy Controller 状态

OperatorState

ACM Operator 的状态信息

JSON 表示法
{
  "version": string,
  "deploymentState": enum (DeploymentState),
  "errors": [
    {
      object (InstallError)
    }
  ]
}
字段
version

string

Operator 的语义版本号

deploymentState

enum (DeploymentState)

Operator 的部署状态

errors[]

object (InstallError)

安装错误。

DeploymentState

表示 ACM 在集群上的部署状态的枚举

枚举
DEPLOYMENT_STATE_UNSPECIFIED 无法确定部署状态
NOT_INSTALLED 未安装部署
INSTALLED 已安装部署
ERROR 已尝试安装部署,但出现错误
PENDING 正在安装或终止部署

InstallError

与 ACM 安装相关的错误

JSON 表示法
{
  "errorMessage": string
}
字段
errorMessage

string

表示面向用户的错误消息的字符串

ConfigSyncState

ConfigSync 的状态信息

JSON 表示法
{
  "version": {
    object (ConfigSyncVersion)
  },
  "deploymentState": {
    object (ConfigSyncDeploymentState)
  },
  "syncState": {
    object (SyncState)
  },
  "errors": [
    {
      object (ConfigSyncError)
    }
  ]
}
字段
version

object (ConfigSyncVersion)

已部署的 ConfigSync 的版本

deploymentState

object (ConfigSyncDeploymentState)

有关 ConfigSync 部署的信息,包括已部署的各 Pod 的版本

syncState

object (SyncState)

用于将配置同步到集群的 ConfigSync 进程的状态

errors[]

object (ConfigSyncError)

与 Config Sync 安装相关的错误。

ConfigSyncVersion

与 ConfigSync 的 Pod 相关的特定版本控制信息

JSON 表示法
{
  "importer": string,
  "syncer": string,
  "gitSync": string,
  "monitor": string,
  "reconcilerManager": string,
  "rootReconciler": string,
  "admissionWebhook": string
}
字段
importer

string

已部署的 importer pod 的版本

syncer

string

已部署的 syncer pod 的版本

gitSync

string

已部署的 git-sync pod 的版本

monitor

string

已部署的 monitor pod 的版本

reconcilerManager

string

已部署的 reconciler-manager pod 的版本

rootReconciler

string

root-reconciler pod 中已部署的协调器容器的版本

admissionWebhook

string

已部署的 admissionWebhook pod 的版本

ConfigSyncDeploymentState

ConfigSync 在集群上的部署状态

JSON 表示法
{
  "importer": enum (DeploymentState),
  "syncer": enum (DeploymentState),
  "gitSync": enum (DeploymentState),
  "monitor": enum (DeploymentState),
  "reconcilerManager": enum (DeploymentState),
  "rootReconciler": enum (DeploymentState),
  "admissionWebhook": enum (DeploymentState)
}
字段
importer

enum (DeploymentState)

importer pod 的部署状态

syncer

enum (DeploymentState)

syncer pod 的部署状态

gitSync

enum (DeploymentState)

git-sync pod 的部署状态

monitor

enum (DeploymentState)

monitor pod 的部署状态

reconcilerManager

enum (DeploymentState)

reconciler-manager pod 的部署状态

rootReconciler

enum (DeploymentState)

root-reconciler 的部署状态

admissionWebhook

enum (DeploymentState)

admission-webhook 的部署状态

SyncState

指示 ACM 将配置同步到集群的进度的状态

JSON 表示法
{
  "sourceToken": string,
  "importToken": string,
  "syncToken": string,
  "lastSync": string,
  "lastSyncTime": string,
  "code": enum (SyncState.SyncCode),
  "errors": [
    {
      object (SyncError)
    }
  ]
}
字段
sourceToken

string

指示代码库状态的令牌。

importToken

string

指示导入器状态的令牌。

syncToken

string

指示同步器状态的令牌。

lastSync
(deprecated)

string

已弃用:请改用 lastSyncTime。ACM 上次成功同步代码库时的时间戳。有关时间格式,请参阅 https://golang.org/pkg/time/#Time.String

lastSyncTime

string (Timestamp format)

ACM 上次成功同步代码库时的时间戳类型

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

code

enum (SyncState.SyncCode)

同步状态代码

errors[]

object (SyncError)

有问题的配置导致的错误的列表。此列表会在 100 个错误后被截断,但不太可能同时存在这么多错误。

SyncState.SyncCode

表示 Config Sync 将配置同步到集群的同步操作状态的枚举。

枚举
SYNC_CODE_UNSPECIFIED Config Sync 无法确定同步代码
SYNCED Config Sync 已成功将 Git 代码库与集群同步
PENDING Config Sync 正在同步新更改
ERROR 表示配置 Config Sync 时出错,需要用户操作
NOT_CONFIGURED 已安装 Config Sync,但尚未进行配置
NOT_INSTALLED 尚未安装 Config Sync
UNAUTHORIZED 向集群授权时出错
UNREACHABLE 无法访问集群

SyncError

这是 ACM 生成的错误,表示同步配置时出现问题

JSON 表示法
{
  "code": string,
  "errorMessage": string,
  "errorResources": [
    {
      object (ErrorResource)
    }
  ]
}
字段
code

string

ACM 定义的错误代码

errorMessage

string

错误的说明

errorResources[]

object (ErrorResource)

与错误关联的配置(如果有)的列表

ErrorResource

Git 代码库中存在关联同步错误的配置文件的模型

JSON 表示法
{
  "sourcePath": string,
  "resourceName": string,
  "resourceNamespace": string,
  "resourceGvk": {
    object (GroupVersionKind)
  }
}
字段
sourcePath

string

错误配置在 Git 代码库中的路径

resourceName

string

导致错误的资源的元数据名称

resourceNamespace

string

导致错误的资源的命名空间

resourceGvk

object (GroupVersionKind)

导致错误的资源的群组/版本/种类

GroupVersionKind

Kubernetes 对象的 GVK

JSON 表示法
{
  "group": string,
  "version": string,
  "kind": string
}
字段
group

string

Kubernetes 群组

version

string

Kubernetes 版本

kind

string

Kubernetes 种类

ConfigSyncError

与 Config Sync 安装相关的错误

JSON 表示法
{
  "errorMessage": string
}
字段
errorMessage

string

表示面向用户的错误消息的字符串

PolicyControllerState

PolicyControllerState 的状态。

JSON 表示法
{
  "version": {
    object (PolicyControllerVersion)
  },
  "deploymentState": {
    object (GatekeeperDeploymentState)
  },
  "migration": {
    object (PolicyControllerMigration)
  }
}
字段
version

object (PolicyControllerVersion)

已部署的 Gatekeeper Policy Controller 的版本。

deploymentState

object (GatekeeperDeploymentState)

有关 Policy Controller 安装的状态。

migration

object (PolicyControllerMigration)

此特征从 ACM 迁移到 PoCo Hub 的迁移记录的状态。

PolicyControllerVersion

Policy Controller 在使用的 Gatekeeper 的 build 版本。

JSON 表示法
{
  "version": string
}
字段
version

string

由 ACM 版本、Git 标记和 build 号组成的 Gatekeeper 映像标记。

GatekeeperDeploymentState

Policy Controller 安装的状态。

JSON 表示法
{
  "gatekeeperControllerManagerState": enum (DeploymentState),
  "gatekeeperAudit": enum (DeploymentState),
  "gatekeeperMutation": enum (DeploymentState)
}
字段
gatekeeperControllerManagerState

enum (DeploymentState)

gatekeeper-controller-manager pod 的状态。

gatekeeperAudit

enum (DeploymentState)

gatekeeper-audit 部署的状态。

gatekeeperMutation

enum (DeploymentState)

传送变更 webhook 的 pod 的状态。

PolicyControllerMigration

PolicyController 从 ACM 迁移到 PoCo Hub 的迁移操作的状态。

JSON 表示法
{
  "stage": enum (PolicyControllerMigration.Stage),
  "copyTime": string
}
字段
stage

enum (PolicyControllerMigration.Stage)

迁移阶段。

copyTime

string (Timestamp format)

此成员资格规范上次复制到 PoCo 特征的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

PolicyControllerMigration.Stage

Stage 标记 ACM Hub 所处的迁移阶段。

枚举
STAGE_UNSPECIFIED 迁移状态未知。
ACM_MANAGED ACM Hub/Operator 负责管理 PolicyController。尚未完成迁移。
POCO_MANAGED 所有迁移步骤都已完成;Poco Hub 现在负责管理 PolicyController。

BinauthzState

Binauthz 的状态

JSON 表示法
{
  "webhook": enum (DeploymentState),
  "version": {
    object (BinauthzVersion)
  }
}
字段
webhook

enum (DeploymentState)

binauthz webhook 的状态。

version

object (BinauthzVersion)

已安装的 binauthz 的版本。

BinauthzVersion

binauthz 的版本。

JSON 表示法
{
  "webhookVersion": string
}
字段
webhookVersion

string

binauthz webhook 的版本。

HierarchyControllerState

Hierarchy Controller 的状态

JSON 表示法
{
  "version": {
    object (HierarchyControllerVersion)
  },
  "state": {
    object (HierarchyControllerDeploymentState)
  }
}
字段
version

object (HierarchyControllerVersion)

Hierarchy Controller 的版本

state

object (HierarchyControllerDeploymentState)

Hierarchy Controller 的部署状态

HierarchyControllerVersion

Hierarchy Controller 的版本

JSON 表示法
{
  "hnc": string,
  "extension": string
}
字段
hnc

string

开源 HNC 的版本

extension

string

Hierarchy Controller 扩展程序的版本

HierarchyControllerDeploymentState

Hierarchy Controller 的部署状态

JSON 表示法
{
  "hnc": enum (DeploymentState),
  "extension": enum (DeploymentState)
}
字段
hnc

enum (DeploymentState)

开源 HNC 的部署状态(例如 v0.7.0-hc.0)

extension

enum (DeploymentState)

Hierarchy Controller 扩展程序的部署状态(例如 v0.7.0-hc.1)

MembershipState

Anthos Identity Service:单个成员资格的状态。

JSON 表示法
{
  "installedVersion": string,
  "state": enum (MembershipState.DeploymentState),
  "failureReason": string,
  "memberConfig": {
    object (MembershipSpec)
  }
}
字段
installedVersion

string

已安装的 AIS 版本。这是此成员上安装的 AIS 版本。如果状态正常,则这些值有意义。

state

enum (MembershipState.DeploymentState)

此成员的部署状态

failureReason

string

失败的原因。

memberConfig

object (MembershipSpec)

上次协调的成员资格配置

MembershipState.DeploymentState

部署状态枚举

枚举
DEPLOYMENT_STATE_UNSPECIFIED 未指定状态
OK 部署成功
ERROR 失败,发生错误。

MembershipState

Policy Controller:单个集群的状态。

JSON 表示法
{
  "componentStates": {
    string: {
      object (OnClusterState)
    },
    ...
  },
  "state": enum (MembershipState.LifecycleState),
  "policyContentState": {
    object (PolicyContentState)
  }
}
字段
componentStates

map (key: string, value: object (OnClusterState))

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

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

state

enum (MembershipState.LifecycleState)

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

policyContentState

object (PolicyContentState)

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

OnClusterState

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

JSON 表示法
{
  "state": enum (MembershipState.LifecycleState),
  "details": string
}
字段
state

enum (MembershipState.LifecycleState)

此组件的生命周期状态。

details

string

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

MembershipState.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 不会覆盖对这些对象进行的更改。

PolicyContentState

Policy Controller 政策内容的状态

JSON 表示法
{
  "templateLibraryState": {
    object (OnClusterState)
  },
  "bundleStates": {
    string: {
      object (OnClusterState)
    },
    ...
  },
  "referentialSyncConfigState": {
    object (OnClusterState)
  }
}
字段
templateLibraryState

object (OnClusterState)

模板库的状态

bundleStates

map (key: string, value: object (OnClusterState))

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

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

referentialSyncConfigState

object (OnClusterState)

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

MembershipState

此特征基于成员资格的状态。

JSON 表示法
{
  "upgrades": [
    {
      object (MembershipGKEUpgradeState)
    }
  ],
  "ignored": {
    object (IgnoredMembership)
  }
}
字段
upgrades[]

object (MembershipGKEUpgradeState)

相对于所需状态的实际升级状态。

ignored

object (IgnoredMembership)

特征是否忽略此成员资格。例如,如果手动升级的集群比其发布渠道的默认版本更新,则可以忽略这些集群。

MembershipGKEUpgradeState

ScopeGKEUpgradeState 是一个 GKEUpgrade 及其基于成员资格的状态。

JSON 表示法
{
  "upgrade": {
    object (GKEUpgrade)
  },
  "status": {
    object (UpgradeStatus)
  }
}
字段
upgrade

object (GKEUpgrade)

要跟踪状态的升级。

status

object (UpgradeStatus)

升级的状态。

MembershipState

此类型没有字段。

FleetObservability:fleetobservability 的成员资格特定特征状态。

CommonFleetDefaultMemberConfigSpec

CommonFleetDefaultMemberConfigSpec 包含舰队成员资格的默认配置信息

JSON 表示法
{

  // Union field feature_spec can be only one of the following:
  "mesh": {
    object (MembershipSpec)
  },
  "configmanagement": {
    object (MembershipSpec)
  },
  "identityservice": {
    object (MembershipSpec)
  },
  "policycontroller": {
    object (MembershipSpec)
  }
  // End of list of possible types for union field feature_spec.
}
字段

联合字段 feature_spec

feature_spec 只能是下列其中一项:

mesh

object (MembershipSpec)

Anthos Service Mesh 特定规范

configmanagement

object (MembershipSpec)

Config Management 特定规范。

identityservice

object (MembershipSpec)

Identity Service 特定规范。

policycontroller

object (MembershipSpec)

Policy Controller 规范。

ScopeFeatureSpec

此类型没有字段。

ScopeFeatureSpec 包含舰队范围的特征规范。

ScopeFeatureState

ScopeFeatureState 包含范围级特征状态信息。

JSON 表示法
{
  "state": {
    object (FeatureState)
  }
}
字段
state

object (FeatureState)

仅限输出。此范围中特征的“运行状态”。

方法

create

添加新特征。

delete

移除特征。

get

获取单个特征的详细信息。

getIamPolicy

获取资源的访问权限控制政策。

list

列出给定项目和位置中的特征。

patch

更新现有特征。

setIamPolicy

针对指定资源设置访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。