重要
レガシー サブリソースは、対応する CRD のリリース時点で非推奨となります。構成が現在、このリソース定義のサブリソース形式に依存している場合は、CRD に移行します。
AtlasIPAccessList カスタムリソースは、AtlasプロジェクトのIP アクセス リストを構成します。IP アクセス リストを使用すると、最小アクセス ポリシーを使用してプロジェクトを保護できます。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
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 does one of the following actions using the Atlas Project IP Access List API Resource:
新しいIP アクセス リストを作成します。
既存のIP アクセス リストを置き換えます。
例
基本的な例
次の例では、次のソースから my-projectプロジェクトへのアクセスを許可する AtlasIPAccessList カスタムリソースが示されています。
cidrBlock
192.168.1.0/24IP アドレス
10.0.0.1
10.0.0.1 からのアクセスは、2025 年 3 月 日の 31 後に期限切れになります。
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: projectRef: name: my-project namespace: my-operator-namespace entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
独立した CRD の例
The following example shows an AtlasIPAccessList independent CRD that permits access from the same CIDR block and IP address permitted by the Basic Example. This custom resource definition allows you to create an IP access list in a project you manage outside the instance of Atlas Kubernetes Operator with which you define this resource. 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: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
パラメーター
このセクションでは、使用可能なAtlasIPAccessListカスタム リソース パラメータについて説明します。
metadata.name型: string
必須
Name that the
AtlasIPAccessListCustom Resource uses to add this IP access list to a project.
metadata.namespace型: string
任意
atlasIPAccessListカスタムリソースを含める名前空間。指定されていない場合、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.entries.[n].awsSecurityGroup型: string
条件付き
プロジェクトへのアクセスを許可するAmazon Web Servicesセキュリティ グループの一意の識別子。
spec.entriesの各エントリには 1 つのみが必要で、awsSecurityGroup、cidrBlock、またはipAddressのいずれか 1 つだけです。
spec.entries.[n].cidrBlock型: string
条件付き
プロジェクトへのアクセスを許可する CIDR ブロック表記のIPアドレスの範囲。
spec.entriesの各エントリには 1 つのみが必要で、awsSecurityGroup、cidrBlock、またはipAddressのいずれか 1 つだけです。
spec.entries.[n].deleteAfterDate型: string
任意
Atlas が一時的なアクセス リスト エントリを削除する日時。
永続的なアクセス リスト エントリを作成するには、このパラメーターを省略します。
spec.entries.[n].ipAddress型: string
任意
プロジェクトへのアクセスを許可する単一のIPアドレス。
spec.entriesの各エントリには 1 つのみが必要で、awsSecurityGroup、cidrBlock、またはipAddressのいずれか 1 つだけです。
spec.externalProjectRef.id型: string
条件付き
IP アクセス リストが属するプロジェクトのID 。 既存の Atlas プロジェクト のプロジェクトIDを指定する必要があります。このパラメータは、次のいずれかによって管理されているプロジェクトに属するIPアクセス リストに必要です。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
Atlas Kubernetes Operator の同じインスタンスによって管理されるプロジェクトに属する配置では、
spec.externalProjectRef.idを使用しない場合はspec.projectRef.nameを使用します。IP アクセス リストは1 つのプロジェクトにのみ属することができます。 複数のプロジェクトで同じIP アクセス リストを定義するには、プロジェクトごとにカスタムリソース定義 を作成します。
spec.projectRef.name型: string
条件付き
IP アクセス リストが属するプロジェクトの名前。 既存の
AtlasProjectカスタム リソース を指定する必要があります。このパラメータは、同じインスタンスAtlas Kubernetes Operator によって管理されるプロジェクトに属するIPアクセス リストにのみ適用されます。次のいずれかによって管理されるプロジェクトに属する配置の場合、次のいずれかによって管理されます。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
spec.externalProjectRef.idを使用します。IP アクセス リストは1 つのプロジェクトにのみ属することができます。 複数のプロジェクトで同じIP アクセス リストを定義するには、プロジェクトごとにカスタムリソース定義 を作成します。
spec.projectRef.namespace型: string
条件付き
で指定された
AtlasProjectカスタムspec.projectRef.nameリソースが存在する名前空間。次のいずれかによって管理されるプロジェクトに属する配置では、このパラメーターを設定しないでください。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール