用語集
このページでは、Anthos Config Management でよく使用される用語について簡単に説明します。この用語集は、Kubernetes の基本的な用語に精通していることを前提としています。
A
- アプリケーション オペレータ: アプリケーション オペレータは、ライブ デプロイメントの運用、健全性のモニタリング、更新のロールアウトを行います。多くの組織では、開発チームのメンバーがアプリケーション オペレータになっています。Config Sync では、アプリケーション オペレータが Namespace リポジトリを制御することがあります。
C
ClusterSelector: ClusterSelector は、Kubernetes の labelSelector を使用する特別なタイプの構成ファイルです。ClusterSelector を使用することで、特定の構成を適用する対象のクラスタをクラスタのラベルに基づいて制限できます。ClusterSelector を使用して、Namespace スコープ オブジェクトをインスタンス化するクラスタを制限することもできます。詳細については、ClusterSelector を使用するをご覧ください。
構成ファイル: YAML または JSON で記述された Kubernetes 構成の宣言です。Config Sync は構成ファイルを読み取り、1 つ以上のクラスタに適用します。これにより、クラスタ内の Kubernetes オブジェクトやリソースを作成または構成します。また、Config Sync 自体が必要とする情報を提供します。構成ファイルには、
kubectl edit
またはkubectl apply
を使用して、Kubernetes クラスタに適用可能な任意の構成情報を含めることができます。構成ファイルはリポジトリに保存する必要があります。詳細については、Git リポジトリでの構成ファイルの使用をご覧ください。Config Controller: Config Controller は、Anthos と Google Cloud リソースのプロビジョニングとオーケストレーションを行うホスト型サービスです。Google Cloud リソースのプロビジョニング、有効化、オーケストレートが可能な API エンドポイントが用意されています。詳細については、Config Controller の概要をご覧ください。
Config Sync: Config Sync を使用すると、クラスタ運用担当者とプラットフォーム管理者は、一貫した方法で構成やポリシーをデプロイできます。これらの構成とポリシーは、個々の Kubernetes クラスタだけでなく、ハイブリッド環境とマルチクラウド環境にまたがる複数のクラスタや、クラスタ内の複数の Namespace にデプロイできます。詳細については、Config Sync の概要をご覧ください。
制約: Kubernetes クラスタとのやり取りを制御する一連のルールとパラメータ。1 つ以上の制約を定義することにより、Policy Controller を使用して Kubernetes クラスタにポリシーを適用できます。制約がインストールされると、API サーバーへのリクエストは制約と照合され、準拠していない場合は拒否されます。詳細については、制約の作成をご覧ください。
制約テンプレート: 制約のスキーマとロジックを定義します。制約テンプレートは、Google やサードパーティから提供されるものを使用することも、独自に作成することもできます。テンプレート作成の詳細については、制約テンプレートの作成をご覧ください。
制約テンプレート ライブラリ: 一般的なセキュリティとコンプライアンスの制御用に Anthos Policy Controller に含まれているビルド済みのポリシーのコレクション。詳細については、制約テンプレート ライブラリをご覧ください。
F
- フリード: フリート(旧称 environ)は、クラスタと他のリソースを論理的に編成するための Google Cloud のコンセプトで、これを使用することによって、マルチクラスタ機能の使用と管理、複数のシステム間での一貫したポリシーの適用が可能になります。フリートは、Google Cloud でエンタープライズ マルチクラスタ機能が効果を発揮するうえで重要な役割を果たします。詳細については、フリートの概要をご覧ください。
H
- 階層リポジトリ: 階層リポジトリ(構造化リポジトリ)は、構成ファイルを個別のカテゴリに分類するリポジトリです。システム構成、クラスタ メタデータ、クラスタレベル構成、名前空間構成のカテゴリがあります。非構造化リポジトリ形式(ほとんどのユーザーに推奨される形式)を使用することもできます。詳細については、階層リポジトリの概要をご覧ください。
N
Namespace リポジトリ: 管理者以外のユーザーが制御できるように設定できる非構造化リポジトリ。名前空間リポジトリには、複数のクラスタ全体で特定の名前空間に同期される名前空間スコープの構成ファイルが含まれます。詳細については、複数のリポジトリからの同期の構成をご覧ください。
NamespaceSelector: 構成ファイルを継承できる名前空間スコープ オブジェクトの制限に使用されます。階層リポジトリと非構造化リポジトリの動作はわずかに異なります。詳細については、構成ファイルが影響を与える名前空間の制限をご覧ください。
nomos
:nomos
は、リポに commit する前に構成ファイルの構文を確認し、Config Sync、クラスタ、リポジトリで問題をデバッグするためのコマンドライン ツールです。詳細については、nomos コマンドライン ツールの使用をご覧ください。
P
- Policy Controller: Policy Controller では、完全にプログラム可能なポリシーをクラスタに適用できます。こうしたポリシーは「ガードレール」として機能し、Kubernetes API の構成に対する変更がセキュリティ、運用、コンプライアンスの管理に違反することを防止します。詳細については、Policy Controller の概要をご覧ください。
S
- 構造化リポジトリ: 階層リポジトリをご覧ください。
R
Reconciler: Deployment としてデプロイされる Pod。Git リポジトリからマニフェストにクラスタに同期します。
参照制約: 定義内で別のオブジェクトを参照する制約の一種。たとえば、「2 つのサービスに同じホスト名を許可しない」というものが考えられます。詳細については、参照制約テンプレートの作成をご覧ください。
登録済みクラスタ: フリートに登録されているクラスタ。詳細については、クラスタの登録をご覧ください。
RepoSync: RepoSync オブジェクトは名前空間リポジトリをクラスタに同期します。詳しくは、RootSync フィールドと RepoSync フィールドをご覧ください。
ResourceGroup: クラスタに同期された各 Git リポジトリのすべてのリソースの調整ステータスを集約するリソース。Config Sync は ResourceGroup のカスタム リソース(CR)を自動的に生成します。詳細については、ResourceGroup フィールドをご覧ください。
root-reconciler: RootSync オブジェクトを作成すると、Config Sync によって root-reconciler という Reconciler が作成されます。
ルート リポジトリ: このリポジトリを使用すると、クラスタ スコープと Namespace スコープの構成ファイルを同期できます。ルート リポジトリは、管理者レベルの認証情報を使用してアプリケーションの Namespace にポリシーを適用し、構成ファイルで宣言された状態とずれているローカルの変更をオーバーライドします。各クラスタに設定できるルート リポジトリは 1 つのみです。通常、このリポジトリは中央管理者によって管理されます。
RootSync: RootSync オブジェクトは、ルート リポジトリをクラスタに同期します。Google Cloud Console または Google Cloud CLI を使用してルート リポジトリから同期を構成すると、Config Sync が RootSync オブジェクトを自動的に作成します。
kubectl
を使用する場合は、RootSync オブジェクトを作成する必要があります。
U
- 非構造化リポジトリ: 非構造化ソースのリポジトリ形式を使用すると、任意の方法でリポジトリ内の構成ファイルを整理できます。この形式は、kustomize、kpt、helm などのツールで構成ファイルを整理または生成する場合に特に便利です。ほとんどのユーザーには、非構造化形式の使用をおすすめします。代替のリポジトリ形式は階層リポジトリです。詳細については、非構造化リポジトリの使用をご覧ください。