AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

AtlasNetworkContainer カスタム リソース

重要

レガシー サブリソースは、対応する CRD のリリース時点で非推奨となります。構成が現在、このリソース定義のサブリソース形式に依存している場合は、CRD に移行します。

AtlasNetworkContainerカスタムリソースは、 Atlasプロジェクトのネットワークコンテナを定義します。ネットワーク コンテナとアプリケーションをホストしているネットワークの間にVPCピアリング接続を作成します。

重要

カスタム リソースはデフォルトでオブジェクトを削除しなくなりました

  • Atlas Kubernetes Operator はカスタムリソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator2.0 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。 例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator は AtlasAtlasProject から対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。 この動作を Atlas Kubernetes Operator. 以前に使用されていたデフォルトに戻す方法などの詳細については、「2 0新しいデフォルト: Atlas Kubernetes Operator. の削除保護2 0」を参照してください。

    同様に、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 does one of the following actions using the Atlas Network Peering API Resource:

  • 新しいネットワークコンテナを作成します。

  • 既存のネットワークコンテナをアップデートします。

次の例は、AtlasNetworkContainer CRD の構成を示しています。

  • 基本的な例では、親の Atlasプロジェクトを管理するのと同じ Atlas Kubernetes Operatorインスタンスで管理するリソースを定義します。

  • この 独立性 CRD の例では、 基本的な例と同じネットワークコンテナを構成しますが、ネットワークコンテナの管理に使用する Atlas Kubernetes Operatorインスタンスの外部で管理する Atlasプロジェクト用に構成されています。

AtlasNetworkContainermy-atlas-nc以下に、my-project プロジェクト内で Atlas と Amazon Web Services の間の VPC ピアリング 接続を作成できる、 という名前のコンテナの カスタム リソースを示します。このリソースを親の Atlas プロジェクトと同じ Atlas Kubernetes Operator インスタンス内で管理するには、externalProjectRef ではなく projectRef を使用してプロジェクトを指定する必要があります。

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkContainer
metadata:
name: my-atlas-nc
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
provider: AWS
id: 66e2f2b7e69a89b66b621571
cidrBlock: 10.11.0.0/16
region: US_EAST_1

The following example shows an AtlasNetworkContainer independent CRD that enables VPC peering under the same parameters enabled by the Basic Example. To enable independent operation, you must use an externalProjectRef instead of a projectRef, and you must supply a connectionSecret directly since this resource can't inherit API credentials from its parent project.

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkContainer
metadata:
name: my-atlas-nc
spec:
externalProjectRef:
projectId: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
provider: AWS
id: 66e2f2b7e69a89b66b621571
cidrBlock: 10.11.0.0/16
region: US_EAST_1

このセクションでは、このカスタムリソース定義で使用できる AtlasNetworkContainer パラメータについて説明します。

metadata.name

型: string

必須

Name that the AtlasNetworkContainer Custom Resource uses to add this network container to a project.

metadata.namespace

型: string

任意

atlasNetworkContainer カスタムリソースを含める名前空間。指定されていない場合、Atlas Kubernetes Operator は kubectl によって設定された現在の名前空間を使用します。

spec.connectionSecret.name

型: string

条件付き

Atlas Kubernetes Operator が Atlas に接続するために使用する組織IDとAPIキーを含む opaque secret の名前。指定しない場合、Atlas Kubernetes Operator はデフォルトで次のいずれかのオプションになります。

  • 親 atlasProject の spec.connectionSecretRef.name パラメータ

  • デフォルトのglobal シークレット(親 atlasProject に spec.connectionSecretRef.name を定義していない場合)

このパラメータは独立した CRD に必要です。

Atlas Kubernetes Operator atlas.mongodb.com/type=credentialsは、不要な シークレット の監視を回避するために、ラベル のシークレットのみを監視します。

次の例ではシークレットにラベルを付けます。

kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.externalProjectRef.id

型: string

条件付き

ネットワークコンテナが属するプロジェクトのID 。既存の Atlas プロジェクト のプロジェクトIDを指定する必要があります。次のいずれかによって管理されるプロジェクトに属するネットワーク コンテナには、このパラメーターを指定する必要があります。

  • Atlas Kubernetes Operator の別のインスタンス

  • Atlas Kubernetes Operator 以外のツール

Atlas Kubernetes Operator の同じインスタンスによって管理されるプロジェクトに属する配置の場合は、spec.projectRef.name を使用します。これらのパラメーターは相互に排他的です。

spec.projectRef.name

型: string

条件付き

ネットワークコンテナが属するプロジェクトの名前。既存の AtlasProject カスタム リソース を指定する必要があります。このパラメーターは、同じインスタンスAtlas Kubernetes Operator によって管理されるプロジェクトに属するネットワーク コンテナにのみ適用されます。

によって管理されるプロジェクトに属するネットワーク コンテナの場合、次のいずれかによって管理されます。

  • Atlas Kubernetes Operator の別のインスタンス

  • Atlas Kubernetes Operator 以外のツール

spec.externalProjectRef.id を使用するこれらのパラメーターは相互に排他的です。

spec.projectRef.namespace

型: string

条件付き

で指定されたAtlasProject カスタム spec.projectRef.nameリソースが存在する名前空間。

次のいずれかによって管理されるプロジェクトに属する配置では、このパラメーターを設定しないでください。

  • Atlas Kubernetes Operator の別のインスタンス

  • Atlas Kubernetes Operator 以外のツール

spec.provider

型: string

必須

VPCピアリング接続をサポートするクラウドプロバイダー。次のいずれかである必要があります。

  • AWS

  • Azure

  • GCP

spec.id

型: string

条件付き

Atlas 内の既存のネットワークコンテナの一意の識別子です。このパラメータは、Atlas Kubernetes Operator が既存のネットワーク ピアリングコンテナを管理するシナリオに必要であり、これらに限定されます。

spec.cidrBlock

型: string

必須

Atlas ネットワークコンテナの CIDR ブロック。

spec.region

型: string

条件付き

ネットワークコンテナをホストする Atlas リージョン。ホスティング リージョン用の Atlas形式に準拠する必要があります。このパラメーターは必須であり、 Amazon Web ServicesとAzureネットワークコンテナに限定されます。