Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes 演算子
/

AtlasNetworkPeering カスタム リソース

項目一覧

  • 基本的な例
  • 独立した CRD の例
  • パラメーター

AtlasNetworkPeering カスタムリソースは、Atlasプロジェクトの ネットワークピアリング接続を定義します。ネットワーク ピアリング接続は、セキュリティを強化するためにパブリック ネットワークのトラフィックを分離します。

重要

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

  • 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リソースを使用して次のいずれかのアクションを実行します。

  • 新しいネットワークピアリング接続を作成します。

  • 既存のネットワークピアリング接続を更新します。

注意

ネットワークピアリング接続は1 つのプロジェクトにのみ属することができます。複数のプロジェクトで同じネットワークピアリング接続を定義するには、プロジェクトごとにカスタムリソース定義 を作成します。

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

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

  • この例では、 基本的な例と同じ VPC ピアリング接続を構成しますが、 VPCピアリング接続を管理する Atlas Kubernetes Operatorインスタンスの外部で管理する Atlas プロジェクトを対象にしています。

次の例は、my-projectプロジェクトVPCAmazon Web Services VPC間の green-leaf-peering 接続を定義する AtlasNetworkPeering カスタムリソースを示しています。このリソースを、親 Atlasプロジェクトと同じ Atlas Kubernetes Operatorインスタンスで管理するには、externalProjectRef ではなく projectRef を使用してプロジェクトを識別する必要があります。

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkPeering
metadata:
name: green-leaf-peering
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
containerRef:
id: 72a6d2a69388ba121943ae27
id: 72a6d2a69388ba121943ae27
provider: AWS
awsConfiguration:
accepterRegionName: us-east-1
awsAccountId: 389226183042
routeTableCiderBlock: 10.0.0.0/21
vpcId: vpc-abc

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

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkPeering
metadata:
name: green-leaf-peering
spec:
externalProjectRef:
projectId: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
containerRef:
id: 72a6d2a69388ba121943ae27
id: 72a6d2a69388ba121943ae27
provider: AWS
awsConfiguration:
accepterRegionName: us-east-1
awsAccountId: 389226183042
routeTableCiderBlock: 10.0.0.0/21
vpcId: vpc-abc

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

metadata.name

: string

必須

AtlasNetworkPeering カスタム リソースがこのネットワークピアリング接続をプロジェクトに追加するために使用する名前。

metadata.namespace

: string

任意

AtlasNetworkPeering カスタムリソースを含める default 以外の名前空間。

spec.connectionSecret.name

: string

条件付き

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

  • atlasProjectspec.connectionSecretRef.name パラメータ

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

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

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

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

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

: string

条件付き

このリソースが新しいネットワークピアリング接続を表す場合は、このパラメーターを省略します。

既存のネットワーク ピアリングコンテナのID 。このリソースをAtlas Kubernetes Operator 内で既存のネットワークピアリング接続を管理する場合にのみ、このフィールドを指定します。このリソースでKubernetesローカルリソースの管理を開始する場合は、spec.containerRef.name パラメータを使用します。

spec.containerRef.name

: string

条件付き

プロジェクトの名前空間内でKubernetesローカルリソースを使用して管理する既存のネットワーク ピアリングコンテナの名前。このリソースをKubernetesローカルリソースを管理する場合にのみ、このフィールドを指定します。Atlas Kubernetes Operator によってすでに管理されているネットワークピアリング接続のこのリソースの管理を開始する場合は、spec.containerRef.id パラメータを使用します。このリソースが新しいネットワークピアリング接続を表す場合は、このフィールドを省略します。

spec.externalProjectRef.id

: string

条件付き

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

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

  • Atlas Kubernetes Operator 以外のツール

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

ネットワークピアリング接続は1 つのプロジェクトにのみ属することができます。複数のプロジェクトで同じネットワークピアリング接続を定義するには、プロジェクトごとにカスタムリソース定義 を作成します。

spec.projectRef.name

: string

条件付き

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

次のいずれかによって管理されるプロジェクトに属する配置の場合、次のいずれかによって管理されます。

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

  • Atlas Kubernetes Operator 以外のツール

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

ネットワークピアリング接続は1 つのプロジェクトにのみ属することができます。複数のプロジェクトで同じネットワークピアリング接続を定義するには、プロジェクトごとにカスタムリソース定義 を作成します。

spec.projectRef.namespace

: string

条件付き

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

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

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

  • Atlas Kubernetes Operator 以外のツール

spec.id

: string

条件付き

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

spec.provider

: string

必須

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

  • AWS

  • Azure

  • GCP

spec.awsConfiguration.accepterRegionName

: string

条件付き

VPCピアリング接続を確立するAmazon Web Services のリージョン。に必要であり、Amazon Web Services接続に限定されます。

spec.awsConfiguration.awsAccountId

: string

条件付き

接続が属するAmazon Web Servicesアカウントの一意の識別子です。に必要であり、Amazon Web Services接続に限定されます。

spec.awsConfiguration.routeTableCidrBlock

: string

条件付き

Amazon Web Services VPCの CIDR ブロック。に必要であり、Amazon Web Services接続に限定されます。

spec.awsConfiguration.vpcId

: string

条件付き

Amazon Web Services VPCの一意の識別子です。に必要であり、Amazon Web Services接続に限定されます。

spec.azureConfiguration.azureDirectoryId

: string

条件付き

Azureディレクトリの一意な識別子です。Azure 接続に必要であり、 Azure接続に限定されます。

spec.azureConfiguration.azureSubscriptionId

: string

条件付き

Azureサブスクライブの一意の識別子です。Azure 接続に必要であり、 Azure接続に限定されます。

spec.azureConfiguration.resourceGroupName

: string

条件付き

接続が属するAzureリソース グループの名前。Azure 接続に必要であり、 Azure接続に限定されます。

spec.azureConfiguration.vNetName

: string

条件付き

Azure Virtual Network の名前です。Azure 接続に必要であり、 Azure接続に限定されます。

spec.gcpConfiguration.gcpProjectId

: string

条件付き

Google Cloud Platform Googleプロジェクトの名前。 Google Cloud Platform接続に必要で、一部に限定されます。

spec.gcpConfiguration.networkName

: string

条件付き

Google Cloud Platformネットワークの名前。 Google Cloud Platform接続に必要で、一部に限定されます。

戻る

AtlasDataFederation