AtlasDataFederation
カスタム リソース
注意
Atlas Kubernetes Operator は、Atlas for Government のAtlasDataFederation
カスタム リソースをサポートしていません。
AtlasDataFederation
カスタム リソースは、Atlas の federated database instance
を構成します。 AtlasDataFederation
カスタム リソースを作成すると、Atlas Kubernetes Operator は Atlas でフェデレーティッドデータベースインスタンスを作成または更新しようとします。 フェデレーティッドデータベースインスタンスを使用してフェデレーティッドクエリを実行できます。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator は、 カスタムリソース構成ファイルを使用して Atlas2.0 構成を管理しますが、 Atlas Kubernetes Operator 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes
AtlasProject
Operator は Atlas から対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。この動作を、Atlas Kubernetes Operator2 0以前に使用されていたデフォルトに戻す方法などの詳細については、 をご覧ください。 については、「 新しいデフォルト: Atlas Kubernetes Operator の削除保護 」を参照してください。20 。同様に、Atlas Kubernetes Operator を使用してKubernetesの Atlasプロジェクトからチームを削除しても、Atlas Kubernetes Operator は Atlas からチームを削除しません。
デフォルトの Atlas 構成値が暗黙的に使用されるのを避けるために、必要な構成の詳細を明示的に定義します。場合によっては、Atlas のデフォルトを継承すると調整ループが発生し、カスタムリソースが
READY
状態に達しなくなります。例、含まれている例に示すように、AtlasDeployment
カスタムリソースで必要なオートスケーリング動作を明示的に定義すると、カスタムリソース内の静的インスタンスサイズが、オートスケーリングが有効になっている Atlas 配置に繰り返し適用されないことが保証されます。autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
Atlas Kubernetes Operator は、 Atlasクラスター API リソースと高度なクラスター API リソースを使用して、新しいフェデレーティッドデータベースインスタンスを作成したり、既存のフェデレーティッドデータベースインスタンスを更新したりします。 spec.serverlessSpec
の下のフィールドに値を指定すると、Atlas Kubernetes Operator は Atlas Serverless Instance API リソースを使用して、フェデレーティッドデータベースインスタンスのプライベートエンドポイントを作成または構成します。
Kubernetes クラスターからAtlasDataFederation
リソースを削除すると、Atlas Kubernetes Operator は Atlas からフェデレーティッドデータベースインスタンスを削除します。
例
次の例では、プライベートエンドポイントが構成されたAtlasDataFederation
カスタム リソース仕様を示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasDataFederation metadata: name: my-federated-deployment spec: projectRef: name: my-project namespace: default cloudProviderConfig: aws: roleId: 12345678 testS3Bucket: my-bucket dataProcessRegion: cloudProvider: AWS region: OREGON_USA name: my-fdi storage: databases: - collections: - dataSources: - allowInsecure: false collection: my-collection collectionRegex: database: my-database databaseRegex: defaultFormat: ".avro" path: / provenanceFieldName: string storeName: my-data-store urls: - string: name: my-collection-mdb maxWildcardCollections: 100 name: my-database-mdb views: - name: my-view pipeline: source: my-source-collection stores: - name: my-store provider: S3 additionalStorageClasses: - STANDARD bucket: my-bucket delimiter: / includeTags: false prefix: data- public: false region: US_WEST_1 privateEndpoints: - endpointId: vpce-3bf78b0ddee411ba1 provider: AWS type: DATA_LAKE - endpointId: vpce-3bf78b0ddee411ba2 provider: AWS type: DATA_LAKE
パラメーター
このセクションでは、使用可能な主要なAtlasDataFederation
カスタム リソース パラメータの一部について説明します。 利用可能なパラメーターの完全なリストについては、 Atlas Data Federation API を参照してください。
これらの説明、使用可能な例、 APIドキュメントを参照して、仕様をカスタマイズします。
metadata.name
型: string
必須
Atlas Kubernetes Operator がこのフェデレーティッドデータベースインスタンスをプロジェクトに追加するために使用する
AtlasDataFederation
カスタム リソースを識別するラベル。
spec.cloudProviderConfig
型: オブジェクト
必須
フェデレーティッドデータベースインスタンスのクラウドプロバイダー構成が格納されたリスト。
spec.cloudProviderConfig.aws
型: オブジェクト
必須
フェデレーティッドデータベースインスタンスをホストするクラウド サービス プロバイダーの名前。
spec.cloudProviderConfig.aws.roleId
型: string
必須
フェデレーティッドデータベースインスタンスがデータ ストアにアクセスするために使用できるロールの一意の識別子です。
spec.cloudProviderConfig.aws.testS3Bucket
型: string
必須
指定されたロール ID がアクセスを許可されている S3 データ バケットの名前。
spec.dataProcessRegion
型: オブジェクト
必須
フェデレーティッドデータベースインスタンスがクライアント接続をルーティングするクラウドプロバイダーのリージョンに関する情報。 Atlas Kubernetes OperatorはAmazon Web Servicesのみをサポートしています。
spec.dataProcessRegion.cloudProvider
型: string
必須
フェデレーティッドデータベースインスタンスのデータ ストアをホストするクラウド サービス プロバイダーの名前。 Atlas Kubernetes Operator は、次の値を受け入れます。
AWS
TENANT
SERVERLESS
spec.dataProcessRegion.region
型: string
必須
フェデレーティッドデータベースインスタンスのデータ ストアの地理的ロケーションを示すラベル。 Atlas Kubernetes Operator は、次の値を受け入れます。
SYDNEY_AUS
MUMBAI_IND
FRANKFURT_DEU
DUBLIN_IRL
LONDON_GBR
VIRGINIA_USA
OREGON_USA
SAOPAULO_BRA
SINGAPORE_SGP
spec.name
型: string
任意
Atlas 内のフェデレーティッドデータベースインスタンスを識別するラベル。
spec.storage
型: オブジェクト
任意
各データ ストアの構成情報と Atlas データベースへのマッピング。
spec.storage.databases
タイプ: 配列
任意
このフェデレーティッドデータベースインスタンスのクエリ可能なデータベースとコレクションが格納されたリスト。
spec.storage.databases.collections
タイプ: 配列
任意
stores
データストアにマッピングするコレクションとデータソースのリスト。
spec.storage.databases.collections.dataSources
タイプ: 配列
任意
このフェデレーティッドデータベースインスタンスのコレクションにマップされるデータ ストアが格納されたリスト。
spec.storage.databases.collections.dataSources.allowInsecure
タイプ: ブール値
任意
指定された URL のスキームを検証するフラグ。
true
の場合、Atlas Kubernetes Operator は安全でないHTTP
スキームを許可し、サーバーの証明書チェーンとホスト名を検証せず、サーバーによって提示されたホスト名を持つ任意の証明書を受け入れます。false
の場合、Atlas Kubernetes Operator は安全なHTTPS
スキームのみを許可します。
spec.storage.databases.collections.dataSources.collection
型: string
任意
データベース内のコレクションを識別する、人間が判読可能なラベル。 ワイルドカード(
*
)コレクションを作成するには、このパラメータを省略する必要があります。
spec.storage.databases.collections.dataSources.collectionRegex
型: string
任意
ワイルドカード(
*
)コレクションの作成に使用する正規表現パターン。
spec.storage.databases.collections.dataSources.database
型: string
任意
クラスター内のコレクションを含むデータベースを識別する、人間が判読可能なラベル。 動的に生成されたデータベースのワイルドカード(
*
)コレクションを生成するには、このパラメーターを省略する必要があります。
spec.storage.databases.collections.dataSources.databaseRegex
型: string
任意
ワイルドカード(
*
)データベースの作成に使用する正規表現パターン。
spec.storage.databases.collections.dataSources.defaultFormat
型: string
任意
Atlas Kubernetes Operator が
storeName
を検索中にファイル拡張子のないファイルを検出した場合に使用するファイル形式。 Atlas Kubernetes Operator は、次の値を受け入れます。.avro
.avro.bz2
.avro.gz
.bson
.bson.bz2
.bson.gz
.bsonx
.csv
.csv.bz2
.csv.gz
.json
.json.bz2
.json.gz
.orc
.parquet
.tsv
.tsv.bz2
.tsv.gz
spec.storage.databases.collections.dataSources.path
型: string
任意
Atlas Kubernetes Operator が
storeName
内のファイルをコレクションにマッピングする前に、それらのファイルを検索して解析する方法を制御するファイルパス。 プレフィックス パスからすべてのファイルとフォルダーを取得するには、/
を指定します。
spec.storage.databases.collections.dataSources.provenanceFieldName
型: string
任意
結果にドキュメントの出所が含まれるフィールドを識別する、人間が判読可能なラベル。 Atlas Kubernetes Operator では、サポートされているプロバイダーごとに結果に異なるフィールドが返されます。
spec.storage.databases.collections.dataSources.storeName
型: string
任意
Atlas Kubernetes Operator がコレクションにマッピングするデータ ストアを識別する、人間が判読できるラベル。
spec.storage.databases.collections.dataSources.urls
タイプ: 配列
任意
パブリックにアクセス可能なデータファイルの URL。 認証が必要な URL は指定できません。 Atlas Data Federation は、各 URL のパーティションを作成します。 空または省略した場合、Atlas Data Federation はdataSources.storeNameパラメーターで指定されたストアの URL を使用します。
spec.storage.databases.collections.name
型: string
任意
Atlas Kubernetes Operator がデータ ストア内のデータをマッピングするコレクションを識別する、人間が判読可能なラベル。
spec.storage.databases.maxWildcardCollections
タイプ: int32
任意
データベース内のワイルドカード コレクションの最大数。 これは S3 データソースにのみ適用されます。 デフォルト値は
100
です。
spec.storage.databases.name
型: string
任意
フェデレーティッドデータベースインスタンスがデータをマッピングするデータベースを識別する、人間が判読可能なラベル。
spec.storage.databases.views
タイプ: 配列
任意
コレクションに適用される 集計パイプライン のリスト。 これは S3 データソースにのみ適用されます。
spec.storage.databases.views.name
型: string
任意
コレクションの 集計パイプライン に対応するビューを識別する、人間が判読可能なラベル。
spec.storage.databases.views.pipeline
型: string
任意
ソース コレクションに適用する 集計パイプライン ステージ 。
spec.storage.databases.views.source
型: string
任意
ビューのソース コレクションを識別する、人間が判読可能なラベル。
spec.storage.stores
タイプ: 配列
任意
フェデレーティッドデータベースインスタンスのデータストアが格納されたリスト。
spec.storage.stores.name
型: string
任意
データ ストアを識別する、人間が判読可能なラベル。 spec.storage.database.collections.dataSources.storeNameフィールドは、マッピング構成の一部としてこの値を参照します。
spec.storage.stores.provider
型: string
条件付き
ストアのプロバイダー。 Atlas Kubernetes Operator は
S3
のみをサポートしています。 データ ストアを使用するには、このフィールドを指定する必要があります。
spec.storage.stores.additionalStorageClasses
タイプ: 配列
任意
Amazon Web Services S3 ストレージ クラスのコレクション。 Atlas Data Federation は、これらのストレージ クラスのファイルをクエリ結果に含めます。 Atlas Kubernetes Operator は、次の値を受け入れます。
STANDARD
INTELLIGENT_TIERING
STANDARD_IA
spec.storage.stores.bucket
型: string
任意
Amazon Web Services S3 バケットを識別する、人間が判読できるラベル。 このラベルは、フェデレーティッドデータベースインスタンスが設定されたAmazon Web Services IAM認証情報を使用してアクセスできる S3 バケットの名前と完全に一致する必要があります。
spec.storage.stores.delimiter
型: string
任意
データ ストア内のspec.storage.database.collections.dataSources.pathセグメントを区切る区切り文字。 Atlas Kubernetes Operator は区切り文字を使用して、階層的なディレクトリ構造の S 3バケットを効率的に走査します。 S 3オブジェクト キー でサポートされている任意の文字を区切り文字として指定できます。 たとえば、区切り文字としてアンダースコア(
_
)またはプラス記号(+
)、またはdoubleアンダースコア(__
)などの複数の文字を指定できます。 省略された場合、デフォルトは/
となります。
spec.storage.stores.includeTags
タイプ: ブール値
任意
指定されたパス内のファイルの S3 タグを追加のパーティション属性として使用するかどうかを示すフラグ。 true に設定すると、Atlas Kubernetes Operator は S3 タグを追加のパーティション属性として追加し、各タグを各ドキュメントに関連付けるための新しい最上位の BSON 要素を追加します。 省略した場合、デフォルトは
false
になります。
spec.storage.stores.prefix
型: string
任意
S 3バケット内のファイルを検索するときに Atlas Kubernetes Operator が適用するプレフィックス。 データ ストアは、プレフィックスの値をspec.storage.databases.collections.dataSources.pathの先頭に追加して、取り込むファイルの完全なパスを作成します。 省略した場合、Atlas Kubernetes Operator は S 3バケットのルートからすべてのファイルを検索します。
spec.storage.stores.public
タイプ: ブール値
任意
バケットがパブリックかどうかを示すフラグ。
true
に設定すると、 Atlas Kubernetes Operatorは S3 バケットにアクセスするために、設定されたAmazon Web Services IAMロールを使用しません。false
に設定されている場合、設定されたAmazon Web Services IAMロールには S3 バケットにアクセスするための権限が含まれている必要があります。
spec.storage.stores.region
型: string
任意
S3 バケットの物理的なロケーションを示すAmazon Web Servicesのリージョン。
spec.privateEndpoints
タイプ: 配列
任意
フェデレーティッドデータベースインスタンスのプライベートエンドポイント構成が格納されたリスト。
spec.privateEndpoints.endpointId
型: string
必須
のプライベートエンドポイントを識別する、 で始まる一意の 22string
vpce-
Amazon Web Services文字の英数字
spec.privateEndpoints.provider
型: string
任意
クラウド サービス プロバイダーを識別する、人間が判読可能なラベル。 Atlas Data Federation は
AWS
のみをサポートしています。
spec.privateEndpoints.type
型: string
任意
このプライベートエンドポイントに関連付けられているリソースの種類を識別する、人間が判読可能なラベル。 Atlas Data Federation は
DATA_LAKE
のみをサポートしています。
spec.projectRef.name
型: string
必須
フェデレーティッドデータベースインスタンスが属するプロジェクトの名前。 既存の
AtlasProject
カスタム リソースを指定する必要があります。
spec.projectRef.namespace
型: string
必須
spec.projectRef.name で指定された
AtlasProject
カスタム リソース が存在する名前空間。