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

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

項目一覧

  • 影響を受ける構成
  • 移行手順

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

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

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

Parameter
CRD

spec.customRoles

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

1

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

  1. 親リソースの metadatamongodb.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

構文に従って、移行するパラメータに適切な の CRD を作成します。例、以前に表示されたkindcustomRoles 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 として構成できるようになりました。

戻る

独立したカスタムリソース定義