重要
Atlas Open Service Blog は非推奨です。代わりに、MongoDB Atlas演算子 を使用してください。
Atlas Open Service ブロックを使用して配置された Atlas クラスターに許可されたクラウドサービス プロバイダーとインスタンスサイズのリストを指定できます。このホワイトリストは、Atlas クラスターを特定のクラウドプロバイダーとサイズに制限することで、コストを管理したり、コンプライアンスを確保したりするのに役立ちます。ホワイトリストを適用してから クラスターをデプロイすると、ホワイトリストにリストされているプロバイダーとインスタンスサイズのみがサービス カタログマーケットプレイスに表示されます。
前提条件
Atlas Open Service Blog がインストールされている必要があります。
Considerations
ホワイトリスト スコープ
ホワイトリストは、Atlas Open Service Blog を通じて作成された Atlas クラスターにのみ適用されます。 UI を使用して同じプロジェクトで作成された Atlas クラスターは、ホワイトリストによって制限されません。
既存のクラスター
ホワイトリストはいつでも作成して適用できます。 プロジェクトに既存の Atlas クラスターがある場合は、Atlas オープン サービス ブロックで発生する可能性のある問題を防ぐために、クラウド サービス プロバイダーとインスタンス サイズがホワイトリストに含まれていることを確認してください。
手順
ホワイトリスト JSONファイルを作成します。
ホワイトリストは、各クラウドサービス プロバイダーのキーを含むJSONオブジェクトです。各クラウドサービス プロバイダーのキーは、対応するインスタンスサイズの配列を値として受け取ります。使用可能なインスタンスサイズのリストを表示するには、 Atlas クラスターの作成 APIの providerSettings.instanceSizeName パラメーターを参照してください。
任意のテキスト エディターを開き、次のキーと値のペアを使用してJSONファイルを作成します。
キータイプ説明TENANTstring 配列
Atlas 共有テナントで許可されたインスタンス サイズの配列。 サポートされている値は以下のとおりです。
M2M5
注意
クラスターを配置するときに
spec.regionName設定に指定する値によって、クラスターが配置されるクラウドプロバイダーが決まります。AWSstring 配列
許可された Amazon Web Services インスタンス サイズの配列。
GCPstring 配列
許可された Google Cloud Platform インスタンス サイズの配列。
AZUREstring 配列
許可された Microsoft Azure インスタンス サイズの配列。
例
この JSON ファイルの例では、次のクラウド サービス プロバイダーとインスタンス サイズをホワイトリストにしています。
Atlas の共有テナント:
M2とM5Google Cloud Platform:
M10、M20、M200Amazon Web Services:
M10、M20、M100、M140Microsoft Azure:
M10、M20、M200
{ "TENANT": [ "M2", "M5" ], "GCP": [ "M10", "M20", "M200" ], "AWS": [ "M10", "M20", "M100", "M140" ], "AZURE": [ "M10", "M20", "M200" ] } このファイルを
providers-whitelist.jsonとして保存します。
JSONファイルから ConfigMapオブジェクトを作成します。
ホワイトリスト データを配置に追加するには、 configMapリソースを使用します。
次のコマンドを呼び出して、 providers-whitelist.jsonファイルからproviders-whitelistという名前のconfigMapリソースを作成します。
kubectl create configmap providers-whitelist --from-file=providers-whitelist.json -n <NAMESPACE>
Deploymentリソースの定義を編集します。
希望のテキスト エディターで
Deploymentリソース定義YAMLファイルを開きます。Tip
インストールチュートリアルに従った場合、このリソースは
deployment-and-service.yamlで定義されます。強調表示されたパラメータをコピーし、
kind: Deploymentリソース定義に貼り付けます。これらのパラメーターは、指定されたパスのボリュームとしてこの配置に ConfigMap をマウントするようにKubernetesに指示します。
spec: template: spec: containers: - name: atlas-service-broker image: quay.io/mongodb/mongodb-atlas-service-broker:latest ports: - containerPort: 4000 env: - name: BROKER_HOST value: 0.0.0.0 - name: PROVIDERS_WHITELIST_FILE value: <PATH_TO_WHITELIST_FILE> volumeMounts: - name: <VOLUME_NAME> mountPath: <PATH_TO_MOUNT_VOLUME> volumes: - name: <VOLUME_NAME> configMap: name: <CONFIGMAP_NAME> 必要な設定を構成します。
キー説明例spec.template.spec.containers.env.valueホワイトリスト JSON ファイルへの絶対パス。
/etc/config/providers-whitelist.jsonspec.template.spec.containers.volumeMounts.nameName of the volume that contains the whitelist data.This value must matchspec.template.spec.volumes.name.config-volumespec.template.spec.containers.mountPath.valueこの配置でボリュームをマウントする絶対パス。
/etc/configspec.template.spec.volumes.nameName of the volume that contains the whitelist data.This value must matchspec.template.spec.containers.volumeMounts.name.config-volumespec.template.spec.volumes.configMap.nameホワイトリストに対応する
configMapの名前。providers-whitelistDeploymentリソース定義を保存します。
Atlas Open Service Blog を再配置します。
次の kubernetes を呼び出す コマンド:
kubectl apply -f <DEPLOYMENT_RESOURCE_DEFINITION>.yaml -n <NAMESPACE>