カスタム リソース定義へのパラメーターの移行
Atlas Kubernetes Operator バージョン 2.6 以降、以前は パラメーターの形式であったさまざまなリソース構成は、独自の CRD に移行しました。パラメーターベースの親リソース構成のサポートは非推奨です。既存のパラメーターベースの親リソース構成は引き続き機能しますが、これらの構成のサポートは将来のリリースで削除される予定です。
将来的に Atlas Kubernetes Operator を使用してこれらのリソースを管理し続けるには、適切な CRD に移行してください。
影響を受ける構成
次の構成は影響を受けます。
移行手順
パラメーターレベルのリソース管理から CRD 管理に移行するには、次の手順に従います。
プロジェクトの調整を無効にし、サブリソース参照を編集します。
親リソースの
metadata
にmongodb.com/atlas-reconciliation-policy: "skip"
アノテーションを追加します。これにより、Atlas Kubernetes Operator が親リソースとそのサブリソースの調整を試みるのを防止します。作成する新しい 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 atlasProject
Atlas Kubernetes Operator が Atlasプロジェクトを削除するか、アクティブなサブリソースを持つプロジェクトを削除しようとすると ブロック状態になる可能性があります。データベースユーザーや配置など。
親 CRD からパラメーターを削除します。
作成する新しい 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"
新しい CRD を作成します。
構文に従って、移行するパラメータに適切な の CRD を作成します。例、以前に表示されたkind
customRoles
atlasProject
CRD の パラメータを移行するには、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
さらに、このリソースを 独立した CRD として構成できるようになりました。