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

AtlasPrivateEndpoint カスタム リソース

項目一覧

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

AtlasPrivateEndpointカスタムリソースは、Atlasプロジェクトの プライベートエンドポイントを構成します。これにより、パブリック ネットワーク経由で情報を送信せずに、クラウドプロバイダーを Atlas に接続できるようになります。プライベートエンドポイントは、仮想ネットワークから Atlas への一方向接続です。

重要

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

  • Atlas Kubernetes Operator は、 カスタムリソース構成ファイルを使用して Atlas2.0 構成を管理しますが、 Atlas Kubernetes Operator 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas KubernetesAtlasProject 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リソースを使用して次のいずれかのアクションを実行します。

  • 新しいプライベートエンドポイント サービスを作成します。

  • 既存のプライベートエンドポイント サービスを更新します。

Atlas Kubernetes Operator にプライベートエンドポイントを実装する方法の詳細については、「 プライベートエンドポイントの管理 」を参照してください。

AtlasPrivateEndpoint次の例では、 my-projectプロジェクト内で AWSプライベートエンドポイントを定義する カスタム リソースを示しています。

apiVersion: atlas.mongodb.com/v1
kind: AtlasPrivateEndpoint
metadata:
name: my-atlas-pe1
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
provider: AWS
region: us-east-1
awsConfiguration:
- id: vpcpe-xyz

次の例では、 基本的な例 で定義されているのと同じプライベートエンドポイントを定義するAtlasPrivateEndpoint 独立した CRD を示しています。このカスタムリソース定義を使用すると、このリソースを定義する Atlas Kubernetes Operator の同じインスタンスで、管理していないプロジェクトにこのプライベートエンドポイントを作成できます。独立した操作を有効にするには、 ではなく を使用する必要があります。また、このリソースは親プロジェクトからAPI認証情報を継承できないため、externalProjectRef projectRefconnectionSecretを直接指定する必要があります。

apiVersion: atlas.mongodb.com/v1
kind: AtlasPrivateEndpoint
metadata:
name: my-atlas-pe1
spec:
atlasRef:
projectID: 66e2f2b621571b7e69a89b66
credentials:
name: atlas-connection-secret
provider: AWS
region: us-east-1
awsConfiguration:
- id: vpcpe-xyz

このセクションでは、使用可能なAtlasPrivateEndpointカスタム リソース パラメータについて説明します。

metadata.name

: string

必須

AtlasProjectこのプライベートエンドポイントをプロジェクトに追加するために使用する名前。

metadata.namespace

: string

任意

defaultatlasPrivateEndpointカスタムリソースを含める 以外の名前空間。カスタム名前空間を定義する場合は、 フィールドのAtlasProject カスタムspec.privateEndpoint.privateEndpointRef.namespace リソースに追加する必要があります。

spec.awsConfiguration.id

: string

条件付き

プライベートエンドポイント ネットワーク インターフェイスのID 。このパラメータは必須であり、 AWSプライベートエンドポイントに限定されます。

spec.azureConfiguration.id

: string

条件付き

プライベートエンドポイント ネットワーク インターフェイスのID 。このパラメーターは Azure プライベート エンドポイントでは必須であり、 Azureプライベート エンドポイントに限定されます。

spec.azureConfiguration.ipAddress

: string

条件付き

Azure VNet 内のプライベートエンドポイントのIPアドレス。このパラメーターは Azure プライベート エンドポイントでは必須であり、 Azureプライベート エンドポイントに限定されます。

spec.connectionSecret.name

: string

条件付き

Atlas Kubernetes Operator が Atlas への接続に使用する組織IDとAPIキーを含む opaque secret の名前。指定されていない場合、Atlas Kubernetes Operator は次のいずれかにフォールバックします。

  • atlasProjectspec.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.externalProjectRef.id を使用しない場合は spec.projectRef.name を使用します。

プライベートエンドポイントは 1 つのプロジェクトにのみ属することができます。複数のプロジェクトに同じプライベートエンドポイントを定義するには、プロジェクトごとにカスタムリソース定義 を作成します。

spec.gcpConfiguration.endpoints

タイプ: 配列

条件付き

このエンドポイントグループを構成する個々のプライベートエンドポイントのリスト。このパラメータは、Google Cloud プライベートエンドポイントでは必須であり、のみです。

spec.gcpConfiguration.endpoints.[n].ipAddress

: string

条件付き

指定された Google Cloud プライベートエンドポイントが解決されるIPアドレス。このパラメータは、Google Cloud プライベートエンドポイントでは必須であり、のみです。

spec.gcpConfiguration.endpoints.[n].name

: string

条件付き

特定の Google Cloud プライベートエンドポイントを一意に識別する名前を付けます。このパラメータは、Google Cloud プライベートエンドポイントでは必須であり、のみです。

spec.gcpConfiguration.groupName

: string

条件付き

Google Cloud プライベートエンドポイントのセットを一意に識別する名前。このパラメータは、Google Cloud プライベートエンドポイントでは必須であり、のみです。

spec.gcpConfiguration.projectId

: string

条件付き

プライベートエンドポイントが属する Google Cloudプロジェクトの一意の識別子。

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.provider

: string

必須

プライベートエンドポイント サービスを作成するクラウドサービス プロバイダーの名前。

spec.region

: string

必須

プライベートエンドポイント サービスを作成するクラウド・プロバイダーのリージョン。

戻る

AtlasBackupCompliancePolicy