このページでは、組織のポリシー サービスのカスタム制約を使用して、次の Google Cloud リソースに対する特定のオペレーションを制限する方法について説明します。
container.googleapis.com/Clustercontainer.googleapis.com/NodePool
組織のポリシーの詳細については、カスタムの組織のポリシーをご覧ください。
組織のポリシーと制約について
Google Cloud 組織のポリシー サービスを使用すると、組織のリソースをプログラマティックに一元管理できます。組織のポリシー管理者は組織のポリシーを定義できます。組織のポリシーは、Google Cloud リソース階層内のGoogle Cloud リソースやそれらのリソースの子孫に適用される、制約と呼ばれる一連の制限です。組織のポリシーは、組織レベル、フォルダレベル、またはプロジェクト レベルで適用できます。
組織のポリシーを利用することで、あらかじめ用意されたマネージド制約をさまざまな Google Cloud サービスに適用できます。ただし、組織のポリシーで制限されている特定の項目をより細かくカスタマイズして制御したい場合は、カスタム制約を作成して、それを組織のポリシーで使うこともできます。
ポリシーの継承
デフォルトでは、組織のポリシーは、そのポリシーを適用したリソースの子孫に継承されます。たとえば、フォルダにポリシーを適用した場合、 Google Cloud はそのフォルダ内のすべてのプロジェクトにそのポリシーを適用します。この動作の詳細と変更方法については、階層評価ルールをご覧ください。
制限事項
次の出力専用フィールドはサポートされていません。
projects.locations.clusters.masterAuth.clientKeyprojects.locations.clusters.masterAuth.password
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init - 組織 ID を確認します。
-
組織のポリシーを作成して管理する: 組織、フォルダ、プロジェクトに対する組織のポリシー管理者 (
roles/orgpolicy.policyAdmin) -
クラスタを作成する: プロジェクトに対する Kubernetes Engine クラスタ管理者 (
roles/container.clusterAdmin) - Google Cloud コンソールで [組織のポリシー] ページに移動します。
- プロジェクト選択ツールで、組織のポリシーを設定するプロジェクトを選択します。
- [ カスタム制約] をクリックします。
- [表示名] ボックスに、制約の名前を人が読める形式で入力します。この名前はエラー メッセージで使用されるほか、識別やデバッグにも使用できます。エラー メッセージで漏えいする可能性があるため、表示名に個人情報(PII)や機密データを使用しないでください。このフィールドには、最大 200 文字まで入力できます。
-
[制約 ID] ボックスに、新しいカスタム制約の名前を入力します。カスタム制約の名前には、英字(大文字と小文字)または数字のみを使用できます(例:
custom.disableGkeAutoUpgrade)。このフィールドには、接頭辞(custom.)を除き、最大 70 文字まで入力できます(例:organizations/123456789/customConstraints/custom)。エラー メッセージで漏えいする可能性があるため、制約 ID に個人情報(PII)や機密データを含めないでください。 - [説明] ボックスに、制約の説明を人が読める形式で入力します。この説明は、ポリシー違反の際にエラー メッセージとして使用されます。ポリシー違反が発生した理由と、ポリシー違反を解決する方法に関する詳細を含めてください。エラー メッセージで漏えいする可能性があるため、説明に個人情報(PII)や機密データを含めないでください。このフィールドには、最大 2,000 文字まで入力できます。
-
[リソースの種類] ボックスで、制限するオブジェクトとフィールドを含む Google Cloud REST リソースの名前を選択します(例:
container.googleapis.com/NodePool)。ほとんどの種類のリソースは、最大 20 個のカスタム制約をサポートしています。これより多くのカスタム制約を作成しようとすると、オペレーションは失敗します。 - [適用方法] で、REST CREATE メソッドに制約を適用するか、CREATE メソッドと UPDATE メソッドの両方に制約を適用するかを選択します。制約に違反するリソースに対する UPDATE メソッドに制約を適用した場合、そのリソースへの変更は、違反を解決するものでない限り、組織のポリシーによってブロックされます。
- 条件を定義するには、[ 条件を編集] をクリックします。
-
[条件を追加] パネルで、サポートされているサービス リソースを参照する CEL 条件を作成します(例:
resource.management.autoUpgrade == false)。このフィールドには、最大 1,000 文字まで入力できます。CEL の使用方法の詳細については、Common Expression Language をご覧ください。カスタム制約で使用できるサービス リソースの詳細については、カスタム制約のサポート サービスをご覧ください。 - [保存] をクリックします。
- [アクション] で、条件が満たされた場合に評価対象のメソッドを許可するか拒否するかを選択します。
- [制約を作成] をクリックします。
- カスタム制約を作成するには、次の形式で YAML ファイルを作成します。
-
ORGANIZATION_ID: 組織 ID(例:123456789)。 -
CONSTRAINT_NAME: 新しいカスタム制約の名前。カスタム制約の名前には、英字(大文字と小文字)または数字のみを使用できます(例:custom.enableGkeAutopilot)。このフィールドには、最大 70 文字まで入力できます。 -
RESOURCE_NAME: 制限するオブジェクトとフィールドを含む Google Cloudリソースの完全修飾名。例:container.googleapis.com/Cluster。 -
CONDITION: サポート対象のサービス リソースの表現に対して書き込まれる CEL 条件。このフィールドには、最大 1,000 文字まで入力できます。例:"resource.autopilot.enabled == false"。 -
ACTION:conditionが満たされている場合に実行するアクション。有効な値はALLOWとDENYです。 -
DISPLAY_NAME: 制約の名前。わかりやすい名前を入力してください。このフィールドには、最大 200 文字まで入力できます。 -
DESCRIPTION: ポリシー違反の際にエラー メッセージとして表示される制約の説明。わかりやすい説明を入力してください。このフィールドには、最大 2,000 文字まで入力できます。 -
新しいカスタム制約の YAML ファイルを作成したら、組織内の組織のポリシーで使用できるように設定する必要があります。カスタム制約を設定するには、
gcloud org-policies set-custom-constraintコマンドを使用します。 -
カスタム制約が存在することを確認するには、
gcloud org-policies list-custom-constraintsコマンドを使用します。 - Google Cloud コンソールで [組織のポリシー] ページに移動します。
- プロジェクト選択ツールで、組織のポリシーを設定するプロジェクトを選択します。
- [組織のポリシー] ページのリストで制約を選択して、その制約の [ポリシーの詳細] ページを表示します。
- このリソースの組織のポリシーを構成するには、[ポリシーを管理] をクリックします。
- [ポリシーの編集] ページで、[Override parent's policy] を選択します。
- [ルールを追加] をクリックします。
- [適用] セクションで、この組織のポリシーを適用するかどうかを選択します。
- 省略可: タグで組織のポリシーに条件を設定するには、[条件を追加] をクリックします。組織のポリシーに条件付きルールを追加する場合は、少なくとも 1 つは無条件のルールを追加する必要があります。そうしないとポリシーを保存できないのでご注意ください。詳細については、タグを使用した組織のポリシーの設定をご覧ください。
- [変更内容をテスト] をクリックして、組織のポリシーの効果をシミュレートします。詳細については、Policy Simulator で組織のポリシーの変更をテストするをご覧ください。
- ドライラン モードで組織のポリシーを適用するには、[ドライラン ポリシーを設定] をクリックします。詳細については、ドライラン モードで組織のポリシーを作成するをご覧ください。
- ドライラン モードで組織のポリシーが想定どおりに動作することを確認したら、[ポリシーを設定] をクリックして有効なポリシーを設定します。
- ブール値のルールを含む組織のポリシーを作成するには、制約を参照するポリシーの YAML ファイルを作成します。
-
PROJECT_ID: 制約を適用するプロジェクト。 -
CONSTRAINT_NAME: カスタム制約に定義した名前。例:custom.enableGkeAutopilot。 -
ドライラン モードで組織のポリシーを適用するには、
dryRunSpecフラグを指定して次のコマンドを実行します。 -
ドライラン モードで組織のポリシーが想定どおりに動作することを確認したら、
org-policies set-policyコマンドとspecフラグを使用して有効なポリシーを設定します。 次のファイルに
constraint-enable-autopilot.yamlという名前を付けて保存します。name: organizations/ORGANIZATION_ID/customConstraints/custom.enableGkeAutopilot resourceTypes: - container.googleapis.com/Cluster methodTypes: - CREATE condition: "resource.autopilot.enabled == false" actionType: DENY displayName: Enable GKE Autopilot description: All new clusters must be Autopilot clusters.ORGANIZATION_IDは、実際の組織 ID に置き換えます。このファイルにより、新しいクラスタごとに、クラスタモードが Autopilot でない場合にオペレーションが拒否される制約が定義されます。
制約を適用します。
gcloud org-policies set-custom-constraint ~/constraint-enable-autopilot.yaml制約が存在することを確認します。
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID出力は次のようになります。
CUSTOM_CONSTRAINT ACTION_TYPE METHOD_TYPES RESOURCE_TYPES DISPLAY_NAME custom.enableGkeAutopilot DENY CREATE container.googleapis.com/Cluster Enable GKE Autopilot ...次のファイルに
policy-enable-autopilot.yamlという名前を付けて保存します。name: projects/PROJECT_ID/policies/custom.enableGkeAutopilot spec: rules: - enforce: truePROJECT_IDは、実際のプロジェクト ID に置き換えます。ポリシーを適用します。
gcloud org-policies set-policy ~/policy-enable-autopilot.yamlポリシーが存在することを確認します。
gcloud org-policies list --project=PROJECT_ID出力は次のようになります。
CONSTRAINT LIST_POLICY BOOLEAN_POLICY ETAG custom.enableGkeAutopilot - SET COCsm5QGENiXi2E=PROJECT_ID: ポリシーのプロジェクトのプロジェクト ID。CONTROL_PLANE_LOCATION: クラスタのコントロール プレーンの Compute Engine のロケーション。リージョン クラスタの場合はリージョン、ゾーンクラスタの場合はゾーンを指定します。- クラスタのセキュリティを強化するためのベスト プラクティスを確認する。
- タグに基づいて組織のポリシーを設定する方法を学習する。
- すべての GKE ノードで VM Manager が有効になっていることを必須にする方法を学習する。
- 組織のポリシー サービスについて詳細を学習する。
- 組織のポリシーの作成と管理の方法について学習する。
- マネージドの組織のポリシーの制約全一覧を参照する。
必要なロール
GKE で組織のポリシーを使用するために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
カスタム制約を設定する
カスタム制約は、組織のポリシーを適用しているサービスでサポートされるリソース、メソッド、条件、アクションを使用して YAML ファイルで定義されます。カスタム制約の条件は、Common Expression Language(CEL)を使用して定義されます。CEL を使用してカスタム制約で条件を作成する方法については、カスタム制約の作成と管理の CEL セクションをご覧ください。
コンソール
カスタム制約を作成する方法は次のとおりです。
すべての Google Cloud サービスで両方のメソッドがサポートされているわけではありません。各サービスでサポートされているメソッドを確認するには、サポートされているサービスで対象のサービスを検索してください。
拒否アクションは、条件が true と評価された場合に、リソースを作成または更新するオペレーションがブロックされることを意味します。
許可アクションは、条件が true と評価された場合にのみ、リソースを作成または更新するオペレーションが許可されることを意味します。条件に明記されているケースを除き、他のケースはすべてブロックされます。
各フィールドに値を入力すると、このカスタム制約に対応する YAML 構成が右側に表示されます。
gcloud
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: - RESOURCE_NAME methodTypes: - CREATE
- UPDATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
次のように置き換えます。
条件の書き込み先として使用できるリソースの詳細については、サポートされているリソースをご覧ください。
許可アクションは、条件が true と評価された場合に、リソースを作成または更新するオペレーションが許可されることを意味します。つまり、条件に明記されているケースを除き、他のケースはすべてブロックされます。
拒否アクションは、条件が true と評価された場合に、リソースを作成または更新するオペレーションがブロックされることを意味します。
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
CONSTRAINT_PATH は、カスタム制約ファイルのフルパスに置き換えます。例: /home/user/customconstraint.yaml。
このオペレーションが完了すると、指定したカスタム制約が Google Cloud 組織のポリシーのリストに表示され、組織のポリシーとして使用できるようになります。
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
ORGANIZATION_ID は組織リソースの ID に置き換えます。
詳細については、組織のポリシーの表示をご覧ください。
カスタムの組織のポリシーを適用する
制約を適用するには、それを参照する組織のポリシーを作成し、その組織のポリシーを Google Cloud リソースに適用します。コンソール
gcloud
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true dryRunSpec: rules: - enforce: true
次のように置き換えます。
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
POLICY_PATH は、組織のポリシーの YAML ファイルのパスに置き換えます。ポリシーが有効になるまでに最大 15 分かかります。
gcloud org-policies set-policy POLICY_PATH \ --update-mask=spec
POLICY_PATH は、組織のポリシーの YAML ファイルのパスに置き換えます。ポリシーが有効になるまでに最大 15 分かかります。
カスタム組織のポリシーをテストする
次の例では、プロジェクト内のすべての新しいクラスタが Autopilot クラスタであることを要求するカスタムの制約とポリシーを作成します。
制約を作成する
ポリシーを作成する
ポリシーを適用したら、 Google Cloud がポリシーの適用を開始するまで 2 分ほど待ちます。
ポリシーのテスト
プロジェクトに GKE Standard クラスタを作成してみます。
gcloud container clusters create org-policy-test \
--project=PROJECT_ID \
--location=CONTROL_PLANE_LOCATION \
--num-nodes=1
次のように置き換えます。
次のような出力が表示されます。
Operation denied by custom org policies: ["customConstraints/custom.enableGkeAutopilot": "All new clusters must be Autopilot clusters."]
一般的なユースケースのカスタム組織ポリシーの例
以下のサンプルでは、役立つ可能性のあるカスタム制約の構文について説明します。
| 説明 | 制約の構文 |
|---|---|
| 新しいノードプールのノード自動アップグレードを無効にしない |
name: organizations/ORGANIZATION_ID/customConstraints/custom.enableAutoUpgrade resourceTypes: - container.googleapis.com/NodePool methodTypes: - CREATE condition: "resource.management.autoUpgrade == true" actionType: ALLOW displayName: Enable node auto-upgrade description: All node pools must have node auto-upgrade enabled. |
| 新しいクラスタと既存のクラスタでクラスタ エンドポイントへの匿名アクセスを制限する |
name: organizations/ORGANIZATION_ID/customConstraints/custom.gkeAnonymousAccessLimited resourceTypes: - container.googleapis.com/Cluster methodTypes: - CREATE - UPDATE condition: "resource.anonymousAuthenticationConfig.mode == LIMITED" actionType: ALLOW displayName: "Restrict anonymous access to cluster endpoints." description: "All new and updated clusters must restrict anonymous access to cluster endpoints." |
条件付き組織ポリシー
リソースに付加されたタグに基づいて、組織のポリシーを条件付きで適用できます。たとえば、次の組織のポリシーは、リソース(プロジェクトやクラスタなど)の environment タグが dev に設定されている場合にのみ、custom.enableAutoUpgrade 制約を適用します。
name: organizations/ORGANIZATION_ID/policies/custom.enableAutoUpgrade
spec:
rules:
- condition:
expression: "resource.matchTag('ORGANIZATION_ID/environment', 'dev')"
enforce: true
GKE でサポートされているリソース
次の表は、カスタム制約で参照できる GKE リソースを一覧にしたものです。| リソース | フィールド |
|---|---|
| container.googleapis.com/Cluster |
resource.addonsConfig.cloudRunConfig.disabled
|
resource.addonsConfig.cloudRunConfig.loadBalancerType
| |
resource.addonsConfig.configConnectorConfig.enabled
| |
resource.addonsConfig.dnsCacheConfig.enabled
| |
resource.addonsConfig.gcePersistentDiskCsiDriverConfig.enabled
| |
resource.addonsConfig.gcpFilestoreCsiDriverConfig.enabled
| |
resource.addonsConfig.gcsFuseCsiDriverConfig.enabled
| |
resource.addonsConfig.gkeBackupAgentConfig.enabled
| |
resource.addonsConfig.highScaleCheckpointingConfig.enabled
| |
resource.addonsConfig.horizontalPodAutoscaling.disabled
| |
resource.addonsConfig.httpLoadBalancing.disabled
| |
resource.addonsConfig.kubernetesDashboard.disabled
| |
resource.addonsConfig.networkPolicyConfig.disabled
| |
resource.addonsConfig.parallelstoreCsiDriverConfig.enabled
| |
resource.addonsConfig.rayOperatorConfig.enabled
| |
resource.addonsConfig.rayOperatorConfig.rayClusterLoggingConfig.enabled
| |
resource.addonsConfig.rayOperatorConfig.rayClusterMonitoringConfig.enabled
| |
resource.addonsConfig.statefulHAConfig.enabled
| |
resource.alphaClusterFeatureGates
| |
resource.anonymousAuthenticationConfig.mode
| |
resource.authenticatorGroupsConfig.enabled
| |
resource.authenticatorGroupsConfig.securityGroup
| |
resource.autopilot.enabled
| |
resource.autopilot.privilegedAdmissionConfig.allowlistPaths
| |
resource.autopilot.workloadPolicyConfig.allowNetAdmin
| |
resource.autopilot.workloadPolicyConfig.autopilotCompatibilityAuditingEnabled
| |
resource.autoscaling.autoprovisioningLocations
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.bootDiskKmsKey
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.diskSizeGb
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.diskType
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.imageType
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.insecureKubeletReadonlyPortEnabled
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.management.autoRepair
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.management.autoUpgrade
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.minCpuPlatform
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.oauthScopes
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.serviceAccount
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableIntegrityMonitoring
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.shieldedInstanceConfig.enableSecureBoot
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.nodePoolSoakDuration
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxSurge
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.maxUnavailable
| |
resource.autoscaling.autoprovisioningNodePoolDefaults.upgradeSettings.strategy
| |
resource.autoscaling.autoscalingProfile
| |
resource.autoscaling.enableNodeAutoprovisioning
| |
resource.autoscaling.resourceLimits.maximum
| |
resource.autoscaling.resourceLimits.minimum
| |
resource.autoscaling.resourceLimits.resourceType
| |
resource.binaryAuthorization.enabled
| |
resource.binaryAuthorization.evaluationMode
| |
resource.binaryAuthorization.policyBindings.name
| |
resource.clusterIpv4Cidr
| |
resource.compliancePostureConfig.complianceStandards.standard
| |
resource.compliancePostureConfig.mode
| |
resource.conditions.code
| |
resource.conditions.message
| |
resource.confidentialNodes.confidentialInstanceType
| |
resource.confidentialNodes.enabled
| |
resource.controlPlaneEndpointsConfig.dnsEndpointConfig.allowExternalTraffic
| |
resource.controlPlaneEndpointsConfig.dnsEndpointConfig.endpoint
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.authorizedNetworksConfig.cidrBlocks.cidrBlock
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.authorizedNetworksConfig.cidrBlocks.displayName
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.authorizedNetworksConfig.enabled
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.authorizedNetworksConfig.gcpPublicCidrsAccessEnabled
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.authorizedNetworksConfig.privateEndpointEnforcementEnabled
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.enabled
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.enablePublicEndpoint
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.globalAccess
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.privateEndpoint
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.privateEndpointSubnetwork
| |
resource.controlPlaneEndpointsConfig.ipEndpointsConfig.publicEndpoint
| |
resource.costManagementConfig.enabled
| |
resource.currentNodeCount
| |
resource.databaseEncryption.keyName
| |
resource.databaseEncryption.state
| |
resource.defaultMaxPodsConstraint.maxPodsPerNode
| |
resource.description
| |
resource.enableK8sBetaApis.enabledApis
| |
resource.enableKubernetesAlpha
| |
resource.enterpriseConfig.clusterTier
| |
resource.fleet.membership
| |
resource.fleet.preRegistered
| |
resource.fleet.project
| |
resource.identityServiceConfig.enabled
| |
resource.initialClusterVersion
| |
resource.initialNodeCount
| |
resource.ipAllocationPolicy.clusterIpv4Cidr
| |
resource.ipAllocationPolicy.clusterIpv4CidrBlock
| |
resource.ipAllocationPolicy.clusterSecondaryRangeName
| |
resource.ipAllocationPolicy.createSubnetwork
| |
resource.ipAllocationPolicy.ipv6AccessType
| |
resource.ipAllocationPolicy.nodeIpv4Cidr
| |
resource.ipAllocationPolicy.nodeIpv4CidrBlock
| |
resource.ipAllocationPolicy.podCidrOverprovisionConfig.disable
| |
resource.ipAllocationPolicy.servicesIpv4Cidr
| |
resource.ipAllocationPolicy.servicesIpv4CidrBlock
| |
resource.ipAllocationPolicy.servicesSecondaryRangeName
| |
resource.ipAllocationPolicy.stackType
| |
resource.ipAllocationPolicy.subnetworkName
| |
resource.ipAllocationPolicy.tpuIpv4CidrBlock
| |
resource.ipAllocationPolicy.useIpAliases
| |
resource.ipAllocationPolicy.useRoutes
| |
resource.labelFingerprint
| |
resource.legacyAbac.enabled
| |
resource.location
| |
resource.locations
| |
resource.loggingConfig.componentConfig.enableComponents
| |
resource.loggingService
| |
resource.maintenancePolicy.resourceVersion
| |
resource.maintenancePolicy.window.dailyMaintenanceWindow.startTime
| |
resource.maintenancePolicy.window.maintenanceExclusions[*].endTime
| |
resource.maintenancePolicy.window.maintenanceExclusions[*].maintenanceExclusionOptions.scope
| |
resource.maintenancePolicy.window.maintenanceExclusions[*].startTime
| |
resource.maintenancePolicy.window.recurringWindow.recurrence
| |
resource.maintenancePolicy.window.recurringWindow.window.endTime
| |
resource.maintenancePolicy.window.recurringWindow.window.maintenanceExclusionOptions.scope
| |
resource.maintenancePolicy.window.recurringWindow.window.startTime
| |
resource.masterAuth.clientCertificateConfig.issueClientCertificate
| |
resource.masterAuth.username
| |
resource.masterAuthorizedNetworksConfig.cidrBlocks.cidrBlock
| |
resource.masterAuthorizedNetworksConfig.cidrBlocks.displayName
| |
resource.masterAuthorizedNetworksConfig.enabled
| |
resource.masterAuthorizedNetworksConfig.gcpPublicCidrsAccessEnabled
| |
resource.masterAuthorizedNetworksConfig.privateEndpointEnforcementEnabled
| |
resource.meshCertificates.enableCertificates
| |
resource.monitoringConfig.advancedDatapathObservabilityConfig.enableMetrics
| |
resource.monitoringConfig.advancedDatapathObservabilityConfig.enableRelay
| |
resource.monitoringConfig.advancedDatapathObservabilityConfig.relayMode
| |
resource.monitoringConfig.componentConfig.enableComponents
| |
resource.monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope
| |
resource.monitoringConfig.managedPrometheusConfig.enabled
| |
resource.monitoringService
| |
resource.name
| |
resource.network
| |
resource.networkConfig.datapathProvider
| |
resource.networkConfig.defaultEnablePrivateNodes
| |
resource.networkConfig.defaultSnatStatus.disabled
| |
resource.networkConfig.disableL4LbFirewallReconciliation
| |
resource.networkConfig.dnsConfig.additiveVpcScopeDnsDomain
| |
resource.networkConfig.dnsConfig.clusterDns
| |
resource.networkConfig.dnsConfig.clusterDnsDomain
| |
resource.networkConfig.dnsConfig.clusterDnsScope
| |
resource.networkConfig.enableCiliumClusterwideNetworkPolicy
| |
resource.networkConfig.enableFqdnNetworkPolicy
| |
resource.networkConfig.enableIntraNodeVisibility
| |
resource.networkConfig.enableL4ilbSubsetting
| |
resource.networkConfig.enableMultiNetworking
| |
resource.networkConfig.gatewayApiConfig.channel
| |
resource.networkConfig.inTransitEncryptionConfig
| |
resource.networkConfig.networkPerformanceConfig.totalEgressBandwidthTier
| |
resource.networkConfig.privateIpv6GoogleAccess
| |
resource.networkConfig.serviceExternalIpsConfig.enabled
| |
resource.networkPolicy.enabled
| |
resource.networkPolicy.provider
| |
resource.nodeConfig.accelerators.acceleratorCount
| |
resource.nodeConfig.accelerators.acceleratorType
| |
resource.nodeConfig.accelerators.gpuDriverInstallationConfig.gpuDriverVersion
| |
resource.nodeConfig.accelerators.gpuPartitionSize
| |
resource.nodeConfig.accelerators.gpuSharingConfig.gpuSharingStrategy
| |
resource.nodeConfig.accelerators.gpuSharingConfig.maxSharedClientsPerGpu
| |
resource.nodeConfig.advancedMachineFeatures.enableNestedVirtualization
| |
resource.nodeConfig.advancedMachineFeatures.performanceMonitoringUnit
| |
resource.nodeConfig.advancedMachineFeatures.threadsPerCore
| |
resource.nodeConfig.bootDiskKmsKey
| |
resource.nodeConfig.confidentialNodes.confidentialInstanceType
| |
resource.nodeConfig.confidentialNodes.enabled
| |
resource.nodeConfig.diskSizeGb
| |
resource.nodeConfig.diskType
| |
resource.nodeConfig.ephemeralStorageLocalSsdConfig.dataCacheCount
| |
resource.nodeConfig.ephemeralStorageLocalSsdConfig.localSsdCount
| |
resource.nodeConfig.fastSocket.enabled
| |
resource.nodeConfig.flexStart
| |
resource.nodeConfig.gcfsConfig.enabled
| |
resource.nodeConfig.gvnic.enabled
| |
resource.nodeConfig.imageType
| |
resource.nodeConfig.kubeletConfig.allowedUnsafeSysctls
| |
resource.nodeConfig.kubeletConfig.containerLogMaxFiles
| |
resource.nodeConfig.kubeletConfig.containerLogMaxSize
| |
resource.nodeConfig.kubeletConfig.cpuCfsQuota
| |
resource.nodeConfig.kubeletConfig.cpuCfsQuotaPeriod
| |
resource.nodeConfig.kubeletConfig.cpuManagerPolicy
| |
resource.nodeConfig.kubeletConfig.imageGcHighThresholdPercent
| |
resource.nodeConfig.kubeletConfig.imageGcLowThresholdPercent
| |
resource.nodeConfig.kubeletConfig.imageMaximumGcAge
| |
resource.nodeConfig.kubeletConfig.imageMinimumGcAge
| |
resource.nodeConfig.kubeletConfig.insecureKubeletReadonlyPortEnabled
| |
resource.nodeConfig.kubeletConfig.memoryManager.policy
| |
resource.nodeConfig.kubeletConfig.podPidsLimit
| |
resource.nodeConfig.kubeletConfig.topologyManager.policy
| |
resource.nodeConfig.kubeletConfig.topologyManager.scope
| |
resource.nodeConfig.labels
| |
resource.nodeConfig.linuxNodeConfig.cgroupMode
| |
resource.nodeConfig.linuxNodeConfig.hugepages.hugepageSize1g
| |
resource.nodeConfig.linuxNodeConfig.hugepages.hugepageSize2m
| |
resource.nodeConfig.linuxNodeConfig.sysctls
| |
resource.nodeConfig.localNvmeSsdBlockConfig.localSsdCount
| |
resource.nodeConfig.localSsdCount
| |
resource.nodeConfig.localSsdEncryptionMode
| |
resource.nodeConfig.loggingConfig.variantConfig.variant
| |
resource.nodeConfig.machineType
| |
resource.nodeConfig.maxRunDuration
| |
resource.nodeConfig.metadata
| |
resource.nodeConfig.minCpuPlatform
| |
resource.nodeConfig.nodeGroup
| |
resource.nodeConfig.oauthScopes
| |
resource.nodeConfig.preemptible
| |
resource.nodeConfig.reservationAffinity.consumeReservationType
| |
resource.nodeConfig.reservationAffinity.key
| |
resource.nodeConfig.reservationAffinity.values
| |
resource.nodeConfig.resourceLabels
| |
resource.nodeConfig.resourceManagerTags.tags
| |
resource.nodeConfig.sandboxConfig.type
| |
resource.nodeConfig.secondaryBootDisks.diskImage
| |
resource.nodeConfig.secondaryBootDisks.mode
| |
resource.nodeConfig.serviceAccount
| |
resource.nodeConfig.shieldedInstanceConfig.enableIntegrityMonitoring
| |
resource.nodeConfig.shieldedInstanceConfig.enableSecureBoot
| |
resource.nodeConfig.soleTenantConfig.nodeAffinities.key
| |
resource.nodeConfig.soleTenantConfig.nodeAffinities.operator
| |
resource.nodeConfig.soleTenantConfig.nodeAffinities.values
| |
resource.nodeConfig.spot
| |
resource.nodeConfig.storagePools
| |
resource.nodeConfig.tags
| |
resource.nodeConfig.taints.effect
| |
resource.nodeConfig.taints.key
| |
resource.nodeConfig.taints.value
| |
resource.nodeConfig.windowsNodeConfig.osVersion
| |
resource.nodeConfig.workloadMetadataConfig.mode
| |
resource.nodePoolAutoConfig.networkTags.tags
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.allowedUnsafeSysctls
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.containerLogMaxFiles
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.containerLogMaxSize
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.cpuCfsQuota
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.cpuCfsQuotaPeriod
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.cpuManagerPolicy
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.imageGcHighThresholdPercent
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.imageGcLowThresholdPercent
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.imageMaximumGcAge
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.imageMinimumGcAge
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.insecureKubeletReadonlyPortEnabled
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.memoryManager.policy
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.podPidsLimit
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.topologyManager.policy
| |
resource.nodePoolAutoConfig.nodeKubeletConfig.topologyManager.scope
| |
resource.nodePoolDefaults.nodeConfigDefaults.gcfsConfig.enabled
| |
resource.nodePoolDefaults.nodeConfigDefaults.loggingConfig.variantConfig.variant
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.allowedUnsafeSysctls
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.containerLogMaxFiles
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.containerLogMaxSize
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuCfsQuota
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuCfsQuotaPeriod
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.cpuManagerPolicy
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.imageGcHighThresholdPercent
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.imageGcLowThresholdPercent
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.imageMaximumGcAge
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.imageMinimumGcAge
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.insecureKubeletReadonlyPortEnabled
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.memoryManager.policy
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.podPidsLimit
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.topologyManager.policy
| |
resource.nodePoolDefaults.nodeConfigDefaults.nodeKubeletConfig.topologyManager.scope
| |
resource.notificationConfig.pubsub.enabled
| |
resource.notificationConfig.pubsub.filter.eventType
| |
resource.notificationConfig.pubsub.topic
| |
resource.podAutoscaling.hpaProfile
| |
resource.privateClusterConfig.enablePrivateEndpoint
| |
resource.privateClusterConfig.enablePrivateNodes
| |
resource.privateClusterConfig.masterGlobalAccessConfig.enabled
| |
resource.privateClusterConfig.masterIpv4CidrBlock
| |
resource.privateClusterConfig.privateEndpointSubnetwork
| |
resource.rbacBindingConfig.enableInsecureBindingSystemAuthenticated
| |
resource.rbacBindingConfig.enableInsecureBindingSystemUnauthenticated
| |
resource.releaseChannel.channel
| |
resource.resourceLabels
| |
resource.resourceUsageExportConfig.bigqueryDestination.datasetId
| |
resource.resourceUsageExportConfig.consumptionMeteringConfig.enabled
| |
resource.resourceUsageExportConfig.enableNetworkEgressMetering
| |
resource.secretManagerConfig.enabled
| |
resource.securityPostureConfig.mode
| |
resource.securityPostureConfig.vulnerabilityMode
| |
resource.shieldedNodes.enabled
| |
resource.subnetwork
| |
resource.userManagedKeysConfig.aggregationCa
| |
resource.userManagedKeysConfig.clusterCa
| |
resource.userManagedKeysConfig.controlPlaneDiskEncryptionKey
| |
resource.userManagedKeysConfig.etcdApiCa
| |
resource.userManagedKeysConfig.etcdPeerCa
| |
resource.userManagedKeysConfig.gkeopsEtcdBackupEncryptionKey
| |
resource.userManagedKeysConfig.serviceAccountSigningKeys
| |
resource.userManagedKeysConfig.serviceAccountVerificationKeys
| |
resource.verticalPodAutoscaling.enabled
| |
resource.workloadIdentityConfig.workloadPool
| |
resource.zone
| |
| container.googleapis.com/NodePool |
resource.autopilotConfig.enabled
|
resource.autoscaling.autoprovisioned
| |
resource.autoscaling.enabled
| |
resource.autoscaling.locationPolicy
| |
resource.autoscaling.maxNodeCount
| |
resource.autoscaling.minNodeCount
| |
resource.autoscaling.totalMaxNodeCount
| |
resource.autoscaling.totalMinNodeCount
| |
resource.bestEffortProvisioning.enabled
| |
resource.bestEffortProvisioning.minProvisionNodes
| |
resource.conditions.code
| |
resource.conditions.message
| |
resource.config.accelerators.acceleratorCount
| |
resource.config.accelerators.acceleratorType
| |
resource.config.accelerators.gpuDriverInstallationConfig.gpuDriverVersion
| |
resource.config.accelerators.gpuPartitionSize
| |
resource.config.accelerators.gpuSharingConfig.gpuSharingStrategy
| |
resource.config.accelerators.gpuSharingConfig.maxSharedClientsPerGpu
| |
resource.config.advancedMachineFeatures.enableNestedVirtualization
| |
resource.config.advancedMachineFeatures.performanceMonitoringUnit
| |
resource.config.advancedMachineFeatures.threadsPerCore
| |
resource.config.bootDiskKmsKey
| |
resource.config.confidentialNodes.confidentialInstanceType
| |
resource.config.confidentialNodes.enabled
| |
resource.config.diskSizeGb
| |
resource.config.diskType
| |
resource.config.ephemeralStorageLocalSsdConfig.dataCacheCount
| |
resource.config.ephemeralStorageLocalSsdConfig.localSsdCount
| |
resource.config.fastSocket.enabled
| |
resource.config.flexStart
| |
resource.config.gcfsConfig.enabled
| |
resource.config.gvnic.enabled
| |
resource.config.imageType
| |
resource.config.kubeletConfig.allowedUnsafeSysctls
| |
resource.config.kubeletConfig.containerLogMaxFiles
| |
resource.config.kubeletConfig.containerLogMaxSize
| |
resource.config.kubeletConfig.cpuCfsQuota
| |
resource.config.kubeletConfig.cpuCfsQuotaPeriod
| |
resource.config.kubeletConfig.cpuManagerPolicy
| |
resource.config.kubeletConfig.imageGcHighThresholdPercent
| |
resource.config.kubeletConfig.imageGcLowThresholdPercent
| |
resource.config.kubeletConfig.imageMaximumGcAge
| |
resource.config.kubeletConfig.imageMinimumGcAge
| |
resource.config.kubeletConfig.insecureKubeletReadonlyPortEnabled
| |
resource.config.kubeletConfig.memoryManager.policy
| |
resource.config.kubeletConfig.podPidsLimit
| |
resource.config.kubeletConfig.topologyManager.policy
| |
resource.config.kubeletConfig.topologyManager.scope
| |
resource.config.labels
| |
resource.config.linuxNodeConfig.cgroupMode
| |
resource.config.linuxNodeConfig.hugepages.hugepageSize1g
| |
resource.config.linuxNodeConfig.hugepages.hugepageSize2m
| |
resource.config.linuxNodeConfig.sysctls
| |
resource.config.localNvmeSsdBlockConfig.localSsdCount
| |
resource.config.localSsdCount
| |
resource.config.localSsdEncryptionMode
| |
resource.config.loggingConfig.variantConfig.variant
| |
resource.config.machineType
| |
resource.config.maxRunDuration
| |
resource.config.metadata
| |
resource.config.minCpuPlatform
| |
resource.config.nodeGroup
| |
resource.config.oauthScopes
| |
resource.config.preemptible
| |
resource.config.reservationAffinity.consumeReservationType
| |
resource.config.reservationAffinity.key
| |
resource.config.reservationAffinity.values
| |
resource.config.resourceLabels
| |
resource.config.resourceManagerTags.tags
| |
resource.config.sandboxConfig.type
| |
resource.config.secondaryBootDisks.diskImage
| |
resource.config.secondaryBootDisks.mode
| |
resource.config.serviceAccount
| |
resource.config.shieldedInstanceConfig.enableIntegrityMonitoring
| |
resource.config.shieldedInstanceConfig.enableSecureBoot
| |
resource.config.soleTenantConfig.nodeAffinities.key
| |
resource.config.soleTenantConfig.nodeAffinities.operator
| |
resource.config.soleTenantConfig.nodeAffinities.values
| |
resource.config.spot
| |
resource.config.storagePools
| |
resource.config.tags
| |
resource.config.taints.effect
| |
resource.config.taints.key
| |
resource.config.taints.value
| |
resource.config.windowsNodeConfig.osVersion
| |
resource.config.workloadMetadataConfig.mode
| |
resource.initialNodeCount
| |
resource.locations
| |
resource.management.autoRepair
| |
resource.management.autoUpgrade
| |
resource.maxPodsConstraint.maxPodsPerNode
| |
resource.name
| |
resource.networkConfig.additionalNodeNetworkConfigs.network
| |
resource.networkConfig.additionalNodeNetworkConfigs.subnetwork
| |
resource.networkConfig.additionalPodNetworkConfigs.networkAttachment
| |
resource.networkConfig.createPodRange
| |
resource.networkConfig.enablePrivateNodes
| |
resource.networkConfig.networkPerformanceConfig.totalEgressBandwidthTier
| |
resource.networkConfig.podIpv4CidrBlock
| |
resource.networkConfig.podRange
| |
resource.placementPolicy.policyName
| |
resource.placementPolicy.tpuTopology
| |
resource.placementPolicy.type
| |
resource.queuedProvisioning.enabled
| |
resource.upgradeSettings.blueGreenSettings.nodePoolSoakDuration
| |
resource.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchNodeCount
| |
resource.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchPercentage
| |
resource.upgradeSettings.blueGreenSettings.standardRolloutPolicy.batchSoakDuration
| |
resource.upgradeSettings.maxSurge
| |
resource.upgradeSettings.maxUnavailable
| |
resource.upgradeSettings.strategy
| |
resource.version
|