AtlasBackupSchedule
カスタム リソース を調整 できないようにする問題が含まれています。このバージョン( 2.0.0 )は使用せず、代わりに 2を使用してください。 1 。 0 。Atlas Kubernetes Operator は次のカスタム リソースをサポートしています。
Resource | 説明 |
---|---|
Atlas クラスターをバックアップするためのバックアップ ポリシーの構成。 | |
クラスター Atlas をバックアップするためのバックアップ スケジュールの構成。 | |
Atlas の一部のプロジェクト内のクラスターの構成。 | |
Atlas の一部のプロジェクト内のデータベースユーザーの構成。 | |
Atlas でのプロジェクトの構成。 | |
Atlas でのプロジェクト チームの構成。 | |
Atlas 内のフェデレーティッドデータベースインスタンスとそのプライベートエンドポイントの構成。 | |
Atlas でのフェデレーティッド認証の構成。 |
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator はカスタム リソース構成ファイルを使用して Atlas 構成を管理しますが、 Atlas Kubernetes Operator 2.0以降、Kubernetes で削除したカスタム リソースは Atlas では削除されなくなりました。 代わりに、Atlas Kubernetes Operator はそれらのリソースの管理を停止します。 たとえば、Kubernetes でAtlasProject
カスタム リソースを削除すると、Atlas Kubernetes Operator による、Atlas 内の対応するプロジェクトの自動削除が行われなくなるた、意図しないまたは予期しない削除を防げます。 この動作を、Atlas Kubernetes Operator 2以前に使用されていたデフォルトに戻す方法などの詳細については、 をご覧ください。 0 、 「新しいデフォルト: Atlas Kubernetes Operator 2の削除保護 」を参照してください。 0 。
Atlas Kubernetes Operatorワークフロー
Atlas Kubernetes Operator を使用すると、新しい Atlas プロジェクトを作成したり、既存の Atlas プロジェクトを操作したりできます。
Atlas Kubernetes Operator から Atlas へのアクセスを構成するには、次の公開 API キー、プライベート API キー、および組織 ID 情報が必要です。
Atlas Kubernetes Operator で新しい Atlasプロジェクトを作成する場合は、 組織へのプログラムによるアクセスの付与 。組織で Atlas Administration APIのIP アクセス リストが必要な場合は、 APIアクセス リストも設定する必要があります。
重要
API キーには、 Organization Project Creator以上の組織ロールを割り当てる必要があります。
既存の Atlasプロジェクトを操作する場合は、 プロジェクトからプロジェクト アクセスを追加 します。組織で Atlas Administration APIのIP アクセス リストが必要な場合は、 APIアクセス リストも設定する必要があります。
重要
Project Ownerプロジェクト ロールに API キーを割り当てる必要があります。
詳細については、「 Atlas へのアクセスの設定 」を参照してください。
プロセスの作成と更新
サポートされているカスタム リソースのいずれかでspec
フィールドを変更するたびに、Atlas Kubernetes Operator で次のワークフローが開始されます。
Atlas Kubernetes Operator は、変更されたカスタム リソースに関するイベントを受け取ります。
Atlas Kubernetes Operator は、リソースが準備できていないことを反映するように
status.conditions
フィールドを更新します。conditions: - lastTransitionTime: "2021-03-13T16:26:17Z" status: "False" type: Ready Atlas Administration API に接続するために、Atlas Kubernetes Operator は次のいずれかのロケーションから組織 ID と APIキーを読み取ります。
spec.connectionSecretRef.name
(AtlasProject
カスタム リソースで指定されている場合)デフォルトでは 、Atlas Kubernetes Operator は カスタム リソース と同じ名前空間
AtlasProject
に接続シークレットを保持します。シークレットを別の名前空間に保存するには、spec.connectionSecretRef.namespace
パラメータを指定します。global
Atlas Kubernetes Operator シークレット<operator-deployment-name>-api-key
(spec.connectionSecretRef.name
が指定されていない場合)。
Atlas でリソースを作成または更新するために、Atlas Kubernetes Operator は接続情報を使用して Atlas へのAPI呼び出しを行います。
注意
場合によっては、Atlas Kubernetes Operator が カスタム リソースの調整中に Atlas で複数のAPI呼び出しを実行する場合があります。 たとえば、 には、一致する
AtlasProject
API を呼び出すための IP アクセス リスト 構成があります。調整中にエラーが発生した場合、
status.conditions
はエラーを反映するようにアップデートします。例
- lastTransitionTime: "2021-03-15T14:26:44Z" message: 'POST https://cloud.mongodb.com/api/atlas/v1.0/groups/604a47de73cd8cag77239021/accessList: 400 (request "INVALID_IP_ADDRESS_OR_CIDR_NOTATION") The address 192.0.2.1dfdfd5 must be in valid IP address or CIDR notation.' reason: ProjectIPAccessListNotCreatedInAtlas status: "False" type: IPAccessListReady 更新が成功すると、
status.conditions
はリソースが準備できていることを反映します。conditions: - lastTransitionTime: "2021-03-13T16:26:17Z" status: "True" type: Ready
削除プロセス
Atlas Kubernetes Operator 2.0以降、Kubernetes からカスタム リソースを削除すると、オブジェクトはデフォルトで Atlas に残りますが、Atlas Kubernetes Operatorはオブジェクト を制御しなくなります。 配置全体でこのデフォルトを元に戻すか、特定のカスタム リソースのこのデフォルトを注釈で上書きして、Atlas Kubernetes Operator が対応するオブジェクトを Atlas から削除できるようにします。 注釈で を上書きすると、次のワークフローが開始されます。
Atlas Kubernetes Operator は、削除されたカスタム リソースに関するイベントを受け取ります。
Atlas Administration API に接続するために、Atlas Kubernetes Operator は次のいずれかのロケーションから組織 ID とAPIキーを読み取ります。
spec.connectionSecretRef.name
(AtlasProject
カスタム リソースで指定されている場合)デフォルトでは 、Atlas Kubernetes Operator は カスタム リソース
AtlasProject
と同じ名前空間に接続シークレットを保持します。シークレットを別の名前空間に保存するには、spec.connectionSecretRef.namespace
パラメータを指定します。global
Atlas Kubernetes Operator シークレット<operator-deployment-name>-api-key
(spec.connectionSecretRef.name
が指定されていない場合)。
Atlas からリソースを削除するために、Atlas Kubernetes Operator は接続情報を使用して Atlas へのAPI呼び出しを行います。
注意
Atlas Kubernetes Operator は、 Kubernetesで作成された関連オブジェクトを削除します。例、
AtlasDatabaseUser
を削除すると、Atlas Kubernetes Operator は関連する接続シークレットを削除します。
注釈を使用したデフォルトのスキップまたは上書き
Atlas Kubernetes Operator の新しいデフォルト動作を変更するには、注釈を使用します。
カスタム リソースの
metadata
にmongodb.com/atlas-resource-policy: "delete"
アノテーションを追加すると、Atlas Kubernetes Operator リソースが削除されると、Atlas Kubernetes Operator は Atlas 内の対応するオブジェクトを削除します。例
apiVersion: atlas.mongodb.com/v1 kind: AtlasProject metadata: name: my-project annotations: mongodb.com/atlas-resource-policy: "delete" 新しい削除動作をAtlas Kubernetes Operator 2.0 より前に使用されていたデフォルトに戻すと、カスタム リソースの
metadata
にmongodb.com/atlas-resource-policy: "keep"
アノテーションを追加できるようになります。これにより、 Atlas Kubernetes Operatorは、 Atlas Kubernetes Operatorを削除してもリソースを削除しません。 リソース。カスタム リソースの
metadata
にmongodb.com/atlas-reconciliation-policy: "skip"
アノテーションを追加すると、Atlas Kubernetes Operator はリソースの調整を開始しません。 この注釈により、注釈を削除するまで仕様との同期を一時停止できます。 この注釈を使用すると、カスタム リソースに手動で変更を加え、Atlas Kubernetes Operator が同期中にそれらを元に戻すのを回避できます。 この注釈を削除すると、Atlas Kubernetes Operator はリソースを調整し、それを 仕様と同期します。カスタム リソースの
metadata
にmongodb.com/atlas-resource-version-policy: "allow"
アノテーションを追加すると、Atlas Kubernetes Operator は、使用している Atlas Kubernetes Operator のバージョンと一致しない場合でも、リソースを使用できます。 リソース バージョンが Atlas Kubernetes Operator バージョンより遅れているメジャー バージョンである場合、最新機能が動作しない可能性があります。 マイナーなバージョンの不一致は後方互換性があります。