MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /
/ / /

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 は、Atlas ネットワークピアリングAPIリソースを使用して次のいずれかのアクションを実行します。

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

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

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

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

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

以下は、AtlasNetworkContainer という名前のコンテナのmy-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

次の例は、 基本的な例AtlasNetworkContainer で有効になっているのと同じパラメータでVPCピアリングを有効にする 独立した CRD を示しています。独立した操作を有効にするには、projectRef ではなく externalProjectRef を使用する必要があります。また、このリソースは親プロジェクトからAPI認証情報を継承できないため、connectionSecret を直接指定する必要があります。

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 は、AtlasNetworkContainer APIのスキーマです

Name
タイプ
説明
必須

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasNetworkContainer

true

metadata

オブジェクト

metadataフィールドのフィールドについては、 Kubernetes API のドキュメントを参照してください。

true

spec

オブジェクト

AtlasNetworkContainerSpec は、AtlasNetworkContainer のターゲット状態を定義します。検証:

  • (has(自分:``externalProjectRef``)&+ .has(自分.``projectRef``))|| (!has(自分自身.``externalProjectRef``)& は(自分自身.``projectRef``):externalProjectRef または projectRef を通じてプロジェクト参照を1 つだけ定義する必要があります

  • (has(自分:``externalProjectRef``)&+ has(自己.`` connectionSecret``))||です:は、外部プロジェクトを参照するときにローカル接続シークレットを定義する必要があります

  • (Self.provider == 'GCP' &= '' &= !has(自己リージョン))|| (セルフ.provider .='GCP'): GCP コンテナのリージョンを設定しないでください

  • ((Self.provider == 'AWS'|自己|.provider =='AZURE')+= '')========================================================|| (セルフプロバイダー == 'GCP'): AWS と Azure コンテナのリージョンを設定する必要があります

  • (セルフ.id == oldSelf.id)|| ( !has(自己 ID)&+ !has(oldSelf.id)):ID は不変

  • (セルフ.リージョン == oldSelf.リージョン)|| ( !has(自分のリージョン )&& !has(oldSelf.region)):リージョンは不変

false

status

オブジェクト

AtlasNetworkContainerStatus は、AtlasNetworkContainer カスタムリソースの status です。AtlasProject に含まれるものではない

false

AtlasNetworkContainerSpec は、AtlasNetworkContainer のターゲット状態を定義します。

Name
タイプ
説明
必須

provider

列挙

プロバイダーは、ネットワークコンテナをホストしているクラウドprovider の名前です。列挙: AWSGCPAZURE

true

cidrBlock

string

Atlas CIDRContainerID が設定されていない場合は、 を設定する必要があります。

false

connectionSecret

オブジェクト

Atlas API の秘密キーと公開キーを含むシークレットの名前。

false

externalProjectRef

オブジェクト

externalProjectRef は親 AtlasプロジェクトID を保持します。"projectRef"フィールドと排他関係にあります。

false

id

string

ID は、演算子によってマネージドされるすでに存在するネットワークコンテナのコンテナ識別子です。このフィールドをcidrBlock と組み合わせて使用すると、既存のコンテナの cidrBlock を更新できます。このフィールドは不変です。

false

projectRef

オブジェクト

projectRef は親の AtlasProjectリソースへの参照です。"externalProjectRef"フィールドと排他関係にあります。

false

region

string

ContainerRegion は、Atlas region形式の Atlas ネットワーク ピアリング コンテナのプロバイダー region 名です。これは AWS とAzureでは必要ですが、GCP では使用されません。このフィールドは不変です。Atlas はネットワークコンテナの変更を許可しません。

false

Atlas API の秘密キーと公開キーを含むシークレットの名前。

externalProjectRef は親 AtlasプロジェクトIDを保持します。"projectRef"フィールドと排他関係にあります。

Name
タイプ
説明
必須

id

string

ID は、AtlasプロジェクトID です。

true

projectRef は、親の Atlas Projectリソースへの参照です。"external ProjectRef"フィールドと排他関係にあります。

Name
タイプ
説明
必須

name

string

Kubernetesリソースの名前

true

namespace

string

Kubernetesリソースの名前空間

false

AtlasNetworkContainerStatus は、 AtlasNetworkContainer カスタムリソースのステータスです。Atlas プロジェクト に含まれていないもの

Name
タイプ
説明
必須

conditions

[]オブジェクト

条件は、Atlas カスタム リソースの現在の状態を示すステータスのリストです

true

id

string

ID Atlas でコンテナの識別子をレコード

false

observedGeneration

integer

ObservedGeneration は、Atlas 演算子が認識しているリソース仕様の生成を示します。Atlas 演算子は、このフィールドを「メタデータ.generate 」の値に更新します。が、リソースの調整を開始するとすぐに 表示されます。形式: int64

false

provisioned

ブール値

プロビジョニングは、最後の調整前にクラスターがコンテナに配置されていた場合に true

false

条件 は、 特定の点における Atlas カスタム リソースの状態を表します。

Name
タイプ
説明
必須

status

string

条件のステータス。 True、False、Unknown のいずれか 1 つ。

true

type

string

Atlas カスタム リソース条件のタイプ。

true

lastTransitionTime

string

条件があるステータスから別のステータスに最後に移行した時刻。ISO 8601形式で表されます。形式: 日時

false

message

string

移行に関する詳細を提供する message

false

reason

string

条件の最後の移行の reason

false

戻る

AtlasIPAccessList

項目一覧