AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

カスタム リソース定義へのパラメーターの移行

Atlas Kubernetes Operator バージョン 2.6 以降、以前は パラメーターの形式であったさまざまなリソース構成は、独自の CRD に移行しました。 パラメーターベースの親リソース構成のサポートは非推奨です。 既存のパラメーターベースの親リソース構成は引き続き機能しますが、これらの構成のサポートは将来のリリースで削除される予定です。

将来的に Atlas Kubernetes Operator を使用してこれらのリソースを管理し続けるには、適切な CRD に移行してください。

次の構成は影響を受けます。

パラメーターをリソースに移行する前に、それらのパラメーターに固有の実装の詳細を検討してください。

atlasNetworkPeering リソースには次の考慮事項が適用されます。

  • atlasNetworkPeering CRD は、 Kubernetes名前参照またはIDによって、対応する atlasNetworkContainer を参照できます。

  • atlasNetworkPeering CRD は、 Kubernetes名前参照またはIDでホストされている atlasProject を参照できます。

  • The spec.networkPeers parameter of an atlasProject CRD contains details of both the peering connection itself and the container that supports it. When you migrate from this parameter to an atlasNetworkPeering CRD, you might need to create an atlasNetworkContainer CRD for the container that supports it. To learn more, see Network Container.

atlasNetworkContainer リソースには次の考慮事項が適用されます。

  • atlasNetworkPeering 接続をパラメータからリソースに移行するときに、次のいずれかの場合に新しい atlasNetworkContainerリソースを作成する必要はありません。

    • atlasNetworkPeering 接続を管理する Atlas Kubernetes Operator atlasProject の外部で、atlasNetworkPeering 接続をサポートするネットワークコンテナを管理する

    • atlasNetworkPeering 接続のコンテナの atlasNetworkContainerリソースはすでに存在します。

  • atlasNetworkContainer CRD は、 Kubernetes名前参照またはIDによってホスト atlasProject を参照できます。

AtlasThirdPartyIntegration リソースには次の考慮事項が適用されます。

  • 各サードパーティ統合には独自の AtlasThirdPartyIntegrationリソースが必要です。同じリソース内で複数の統合を定義することはできません。

  • 各プロジェクトには、特定のタイプのサードパーティ統合のインスタンスのみを含めることができます。AtlasProjectリソース内のそのタイプの spec.integrations エントリ、またはその値の spec.type を持つ AtlasThirdPartyIntegrationリソースによって構成されます。

    例、AtlasThirdPartyIntegration CRD が spec.type DATADOG の場合、AtlasProjectリソースで DATADOG の spec.integrations.type を宣言することはできません。

パラメーターレベルのリソース管理から CRD 管理に移行するには、次の手順に従います。

1

プロジェクトの調整を無効にし、サブリソース参照を編集します。

  1. 親リソースの metadata に mongodb.com/atlas-reconciliation-policy: "skip" アノテーションを追加します。 これにより、Atlas Kubernetes Operator が親リソースとそのサブリソースの調整を試みるのを防止します。

  2. 作成する新しい CRD との競合を防ぐには、 親リソースから移行するリソースに対応するパラメータを削除する必要があります。

customRoles 構成を持つ atlasProject の次の例を考えてみましょう。

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test project
connectionSecretRef:
name: my-atlas-key
customRoles:
role:
name: my-role
actions:
- name: getShardMap
resources:
cluster: true
- name: shardingState
resources:
cluster: true
- name: connPoolStats
resources:
cluster: true
- name: getLog
resources:
cluster: true
inheritedRoles:
- name: operator-role-1
role: backup
projectIpAccessList:
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Server B - D"

5 行と 6 行に annotations ブロックを追加したことを確認し、前の例に表示されている customRoles ブロックを削除します。

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
annotations:
mongodb.com/atlas-reconciliation-policy: "skip"
spec:
name: Test project
connectionSecretRef:
name: my-atlas-key
projectIpAccessList:
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Server B - D"

警告

この注釈を適用しない場合、他のリソースを変更する際に、Atlas Kubernetes Operator は引き続き調整を試行します。 新しいデフォルト: Atlas Kubernetes OperatorAtlas Kubernetes Operator2.0 の削除保護が無効になっているユーザーの場合、これにより、Atlas Kubernetes Operator リソースを削除するとAtlas atlasProjectAtlas Kubernetes Operator が Atlasプロジェクトを削除するか、アクティブなサブリソースを持つプロジェクトを削除しようとすると ブロック状態になる可能性があります。データベースユーザーや配置など。

2

作成する新しい CRD との競合を防ぐには、まず親リソースから移行するリソースに対応するパラメータを削除する必要があります。 例、以前に表示された atlasProject CRD から customRoles パラメータを削除します。

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
annotations:
mongodb.com/atlas-reconciliation-policy: "skip"
spec:
name: Test project
connectionSecretRef:
name: my-atlas-key
projectIpAccessList:
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Server B - D"
3

構文に従って、移行するパラメータに適切な kind の CRD を作成します。 例、以前に表示されたcustomRoles atlasProjectCRD の パラメータを移行するには、AtlasCustomRole カスタム リソースを作成します。

apiVersion: atlas.mongodb.com/v1
kind: AtlasCustomRole
metadata:
name: shard-operator-role
namespace: mongodb-atlas-system
labels:
mongodb.com/atlas-reconciliation-policy: keep
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
role:
name: my-role
actions:
- name: getShardMap
resources:
cluster: true
- name: shardingState
resources:
cluster: true
- name: connPoolStats
resources:
cluster: true
- name: getLog
resources:
cluster: true
inheritedRoles:
- name: operator-role-1
role: backup
4
5

さらに、このリソースを独立した CRD として構成できるようになりました。