重要
レガシー サブリソースは、対応する CRD のリリース時点で非推奨となります。構成が現在、このリソース定義のサブリソース形式に依存している場合は、 は CRD に移行します。
AtlasPrivateEndpoint
カスタムリソースは、 Atlasプロジェクトの プライベートエンドポイントを構成します。これにより、パブリック ネットワーク経由で情報を送信せずに、クラウドプロバイダーをAtlas に接続できるようになります。 プライベートエンドポイントは、仮想ネットワークから Atlas への一方向接続です。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator はカスタムリソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator2.0 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。 例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator は Atlas
AtlasProject
から対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。 この動作を 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リソースを使用して次のいずれかのアクションを実行します。
新しいプライベートエンドポイント サービスを作成します。
既存のプライベートエンドポイント サービスを更新します。
Atlas Kubernetes Operator でプライベート エンドポイントを実装する方法の詳細については、「 プライベート エンドポイントの管理 」を参照してください。
例
基本的な例
AtlasPrivateEndpoint
次の例では、 my-project
プロジェクト内で Amazon Web Servicesプライベートエンドポイントを定義する カスタム リソースを示しています。
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
独立した CRD の例
次の例では、基本的な例AtlasPrivateEndpoint
で定義されているのと同じプライベートエンドポイントを定義する 独立した CRD を示しています。このカスタムリソース定義を使用すると、このリソースを定義する Atlas Kubernetes Operator の同じインスタンスで、管理していないプロジェクトにこのプライベートエンドポイントを作成できます。 独立した操作 を有効にするには、projectRef
ではなく externalProjectRef
を使用する必要があります。また、このリソースは親プロジェクトからAPI認証情報を継承できないため、connectionSecret
を直接指定する必要があります。
apiVersion: atlas.mongodb.com/v1 kind: AtlasPrivateEndpoint metadata: name: my-atlas-pe1 spec: externalProjectRef: projectID: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret provider: AWS region: us-east-1 awsConfiguration: - id: vpcpe-xyz
パラメーター
このセクションでは、使用可能なAtlasPrivateEndpoint
カスタム リソース パラメータについて説明します。
metadata.name
型: string
必須
AtlasPrivateEndpoint
このプライベートエンドポイントをプロジェクトに追加するために使用する名前。
metadata.namespace
型: string
任意
AtlasPrivateEndpoint
カスタムリソースを含める名前空間。指定されていない場合、Atlas Kubernetes Operator はkubectl
によって設定された現在の名前空間を使用します。カスタム名前空間を定義する場合は、 フィールドの
AtlasProject
カスタムspec.privateEndpoint.privateEndpointRef.namespace
リソースに追加する必要があります。
spec.awsConfiguration.id
型: string
条件付き
プライベートエンドポイント ネットワーク インターフェイスのID 。 このパラメータは必須であり、 Amazon Web Services のプライベートエンドポイントに限定されます。
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 は次のいずれかにフォールバックします。
親
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.externalProjectRef.id
を使用しない場合はspec.projectRef.name
を使用します。プライベートエンドポイントは 1 つのプロジェクトにのみ属することができます。 複数のプロジェクトに同じプライベートエンドポイントを定義するには、プロジェクトごとにカスタムリソース定義 を作成します。
spec.gcpConfiguration.endpoints
タイプ: 配列
条件付き
このエンドポイントグループを構成する個々のプライベートエンドポイントのリスト。 このパラメータは、 Google Cloud Platformプライベートエンドポイントに限定されます。
spec.gcpConfiguration.endpoints.[n].ipAddress
型: string
条件付き
指定されたGoogle Cloud Platformプライベートエンドポイントが解決するIPアドレス。 このパラメータは、 Google Cloud Platformプライベートエンドポイントに限定されます。
spec.gcpConfiguration.endpoints.[n].name
型: string
条件付き
特定のGoogle Cloud Platformプライベートエンドポイントを一意に識別する名前。 このパラメータは、 Google Cloud Platformプライベートエンドポイントに限定されます。
spec.gcpConfiguration.groupName
型: string
条件付き
Google Cloud Platformプライベートエンドポイントのセットを一意に識別する名前。 このパラメータは、 Google Cloud Platformプライベートエンドポイントに限定されます。
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 以外のツール
このパラメーターを設定しないでください。