OPA ゲートキーキー ポリシーの適用
本番環境の配置を 制御 、監査する、デバッグするには、 ゲートキーパー オープン ポリシーエージェント(OPA)のポリシーを使用できます。入力キーには、制約テンプレートを通じて配置制約を作成および拡張するための CustomResourceDefinitions が含まれています。
ゲートキーラー ポリシーによる配置の制御
Kubernetes Operator では、カスタマイズして配置に適用できる Gateおよびポリシーのリストが提供されます。
各ゲートキーキー ポリシーは、次の要素で構成されています。
<policy_name>.yaml
ファイルconstraints.yaml
制約テンプレート に基づくファイル
バイナリ ポリシーと構成可能な ゲートキーピング ポリシーを使用できます。
バイナリ ポリシーは、TLS を使用しない配置を防ぐや、特定のMongoDBまたはMongoDB Ops Managerバージョンのみを配置するなど、特定の構成を許可または防止します。
構成可能なポリシーを使用すると、特定のMongoDBまたはMongoDB Ops Managerのカスタム リソースに配置されるレプリカセットの総数などの構成を指定できます。
Kubernetes Operator で Gateまた サンプル ポリシーを使用して適用するには、次の手順に従います。
OPA ゲートキーをインストールする Kubernetesます。
使用可能な制約テンプレートと制約のリストを確認します。
kubectl get constrainttemplates kubectl get constraints ポリシー ディレクトリに移動し、リストからポリシーを選択して、その制約ファイルとその制約ファイルを適用します。
cd <policy_directory> kubectl apply -f <policy_name>.yaml kubectl apply -f constraints.yaml 現在適用されている GitHub ポリシーを確認します。
kubectl get constrainttemplates kubectl get contstraints
サンプル OPA ゲートキーキー ポリシーのリスト
KubernetesOperator は、この OPA の例 で次のサンプルGithub ポリシーを提供します。 ディレクトリ:
ロケーション | ポリシーの説明 |
---|---|
すべてのMongoDBとMongoDB Ops Managerリソースをブロックします。 これにより、ログ出力を使用して独自のポリシーを作成できます。 詳細については、「 ゲートキーのデバッグ 」を参照してください。 | |
MongoDB リソースのレプリカセットのみの配置を許可し、シャーディングされたクラスターの配置を防止します。 | |
特定の MongoDB バージョンのみの配置を許可します。 | |
特定のMongoDB Ops Managerバージョンのみの配置を許可します。 | |
MongoDB 配置で厳密な TLS モードを使用できるようになります。 | |
指定した数の MongoDB Ops Manager レプリカセット と アプリケーション データベース メンバーの配置を許可します。 | |
MongoDB Ops Managerを非対話型モードでインストールできるようになります。 |