Package google.cloud.gkehub.policycontroller.v1

索引

BundleInstallSpec

BundleInstallSpec は、単一のマネージド バンドルの仕様構成です。

フィールド
exempted_namespaces[]

string

バンドルから除外する Namespace のセット。

HubConfig

Policy Controller の構成

フィールド
install_spec

HubConfig.InstallSpec

install_spec は、機能の状態に報告される Hub 機能コントローラによって検出された機能のライフサイクル状態ではなく、機能仕様の install_spec を変更した最新のリクエストによって指定された意図された状態を表します。

exemptable_namespaces[]

string

Policy Controller のチェックから除外される Namespace のセット。Namespace はクラスタに現在存在している必要はありません。

referential_rules_enabled

bool

現在評価されているオブジェクト以外のオブジェクトを参照する制約テンプレートを使用できるようにします。

log_denies_enabled

bool

すべての拒否とドライランの失敗がロギングされます。

mutation_enabled

bool

Policy Controller を使用してリソースを変更する機能を有効にします。

deployment_configs

map<string, PolicyControllerDeploymentConfig>

デプロイ構成とデプロイ(mutation、audit、mutation)のマッピング。

audit_interval_seconds

int64

Policy Controller 監査スキャンの間隔(秒単位)を設定します。0 に設定すると、監査機能が完全に無効になります。

monitoring

MonitoringConfig

Monitoring は、モニタリングの構成を指定します。

policy_content

PolicyContentSpec

クラスタに必要なポリシー コンテンツを指定します

constraint_violation_limit

int64

制約に保存される監査違反の最大数。設定しなかった場合は、内部のデフォルト(現在は 20)が使用されます。

InstallSpec

Hub Feature コントローラが作動させる可能性がある一連のインストール仕様。

列挙型
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 コントローラによるすべての調整アクションを停止するリクエスト。これは、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 Feature コントローラによって検出された Policy Controller のライフサイクル全体の状態。

policy_content_state

PolicyContentState

Hub Feature コントローラによって監視されるコンテンツの全体的な状態。

LifecycleState

Policy Controller が存在できる状態のセット。

列挙型
LIFECYCLE_STATE_UNSPECIFIED ライフサイクルの状態が指定されていません。
NOT_INSTALLED PC は指定されたクラスタに存在せず、PC に関連付けられた任意のタイプの k8s リソースが存在するべきではありません。クラスタが PCH のメンバーシップを持っていません。
INSTALLING PCH は Membership を持っていますが、PC がクラスタに完全にインストールされていません。この状態は、ハブがクラスタに PC をインストールするアクションを実行していることを示します。
ACTIVE PC がクラスタに完全にインストールされ、動作モードになっています。この状態になると、PCH は PC と状態を調整し、PC はそのソフトウェアに応じてオペレーション タスクを実行します。READY 状態に入るには、PC がインストールされ、その Pod が PCH が想定する PC のバージョンで動作していることをハブが確認する必要があります。
UPDATING PC は完全にインストールされていますが、クラスタで実行されているリソースの構成を変更するプロセス(PC のバージョンをアップダウンする、PC のマニフェストを変更するなど)が進行中です。PCH は Membership を持っており、クラスタが実行されるべきバージョンを認識していますが、PC がそのバージョンで実行されていることを確認していません。
DECOMMISSIONING PC にクラスタのリソースがある場合でも、PCH は Membership の削除を必要としています。Membership は引き続き存在します。
CLUSTER_ERROR PC が動作せず、PCH は PC を動作させることができません。クラスタにインストールされている PC が動作していないか、クラスタを管理するように PCH に対して設定された要件をクラスタが満たしていないが、それでも関連の動作を行うように(「インストール」など)指示が与えられたと PCH が判断した場合に自動的に CLUSTER_ERROR 状態になります。
HUB_ERROR この状態の場合、PC は引き続き動作可能であり、PCH のみが動作不能になります。ハブは、PC の状態を変更する命令を発行したり、クラスタ内リソースに干渉することができません。ハブが正常な状態ではないと PCH が判断し、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

参照データ同期構成の状態。これは、ユーザーが構成した PoCo のバージョンに応じて、syncSet オブジェクトまたは config オブジェクトのいずれかの状態を表すことができます。

PolicyControllerDeploymentConfig

Deployment 固有の構成。

フィールド
pod_tolerations[]

PolicyControllerDeploymentConfig.Toleration

ノード taint の Pod の toleration。

pod_affinity

PolicyControllerDeploymentConfig.Affinity

Pod アフィニティの構成。

replica_count

int64

Pod のレプリカ数。

container_resources

ResourceRequirements

コンテナ リソースの要件。

pod_anti_affinity
(deprecated)

bool

Pod のアンチ アフィニティの有効化。非推奨: 代わりに、pod_affinity を使用してください。

アフィニティ

Deployment で使用される Pod アフィニティ構成。

列挙型
AFFINITY_UNSPECIFIED アフィニティ構成が指定されていません。
NO_AFFINITY アフィニティ構成は Deployment から削除されます。
ANTI_AFFINITY この Deployment にはアンチ アフィニティ構成が適用されます。アドミッションのデプロイのデフォルト。

toleration

ノード taint の toleration

フィールド
key

string

taint キーと一致します(必ずしも一意ではありません)。

operator

string

taint 演算子と一致します。

value

string

taint 値と一致します。

effect

string

taint 効果と一致します。

ResourceList

ResourceList には、コンテナ リソースの要件が含まれています。

フィールド
memory

string

Kubernetes リソース ユニットで表されるメモリ要件。

cpu

string

Kubernetes リソース ユニットで表される CPU 要件。

ResourceRequirements

ResourceRequirements は、コンピューティング リソースの要件を記述します。

フィールド
limits

ResourceList

上限は、実行中のコンテナで使用できるコンピューティング リソースの最大量を表します。

requests

ResourceList

リクエストは、kube-scheduler によってコンテナ用に予約されたコンピューティング リソースの量を示します。

TemplateLibraryConfig

インストールするデフォルトのライブラリ テンプレートを指定する構成。

フィールド
installation

TemplateLibraryConfig.Installation

テンプレート ライブラリをクラスタにインストールする方法を構成します。

インストール

テンプレート ライブラリのインストール方法

列挙型
INSTALLATION_UNSPECIFIED インストール戦略が指定されていません。
NOT_INSTALLED テンプレート ライブラリをインストールしません。
ALL テンプレート ライブラリ全体をインストールします。