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

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

項目一覧

  • Considerations
  • 独立した CRD への移行

Atlas Kubernetes Operator を使用すると、Atlas Kubernetes Operator を使用してプロジェクト自体を管理しなくても、Atlasプロジェクト内のリソースを管理できます。この独立したカスタムリソース定義(「独立した CRD」)モデルでは、 AtlasDeploymentカスタム リソースAtlasDatabaseUserカスタム リソースなどのリソースを、Atlas IDによって直接 Atlasプロジェクトに関連付けます。

独立した CRD を使用すると、プロジェクトにさまざまなプログラムによるインフラストラクチャ管理システムを使用できますが、Atlas Kubernetes Operator を使用して、データベースユーザーや個別の配置など、より頻繁に変更されるリソースを管理できます。

独立した CRD によって、Atlasプロジェクトのマネジメントをユーザーや配置などのサブリソースのマネジメントから分離することで、ニーズに合わせて組織内の別の担当者やチームにこれらの権限を割り当てることができます。

Atlas Kubernetes Operator を使用してプロジェクトを管理する場合、 atlasProjectリソースのspec.connectionSecretRef.nameパラメータを使用して Atlas Administration API認証を構成するか、このパラメータを未設定のままにして グローバル Atlas認証情報をデフォルトに設定できます。独立した CRD を使用する場合は、各リソースに対してspec.connectionSecret.nameを指定できます。このパラメータを設定すると、 spec.connectionSecretRef.nameまたはグローバル Atlas 認証情報よりも優先されます。

このパラメーターは、AtlasプロジェクトIDを使用して親リソースが参照されているリソースに設定する必要がありますが、それ以外は任意です。

atlasProject spec.nameパラメータではなく、Atlas IDで親プロジェクトを参照するatlasDeployment CRD を定義します。次のように、 atlasDeploymentリソースのspec.connectSecret.nameを定義する必要があります。

apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: test-cluster-name
namespace: mongodb-atlas-system
spec:
externalProjectRef:
id: 671998971c8520583f24f411
connectionSecret:
name: my-atlas-key
deploymentSpec:
clusterType: REPLICASET
name: service-name
tags:
- key: "environment"
value: "production"
backupEnabled: true
replicationSpecs:
- zoneName: US-Zone
numShards: 3
regionConfigs:
- regionName: CENTRAL_US
providerName: GCP
backingProviderName: GCP
priority: 7
electableSpecs:
instanceSize: M10
nodeCount: 3

既存の CRD をatlasProjectレベルのマネジメントから独立したマネジメントに移行するには、次の手順に従います。

1

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

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

    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 Operator 2.0の削除保護が無効になっているユーザーの場合、これにより、 atlasProjectリソースを削除すると Atlas Kubernetes Operator が Atlasプロジェクトを削除するか、アクティブなサブリソースを持つプロジェクトを削除しようとすると ブロック状態になる可能性があります。データベースユーザーや配置など。

  2. プロジェクト参照を変更して、 atlasProject名ではなく AtlasプロジェクトIDを点ようにします。

    例、 atlasDatabaseUserリソースを減算するには次のようにします。

    apiVersion: atlas.mongodb.com/v1
    kind: AtlasDatabaseUser
    metadata:
    name: my-database-user
    spec:
    roles:
    - roleName: readWriteAnyDatabase
    databaseName: admin
    externalProjectRef:
    id: 671998971c8520583f24f411
    username: theuser
    passwordSecretRef:
    name: the-user-password
2
3

Atlas Kubernetes Operator によるプロジェクト管理を停止するには、 atlasProject CRD を削除できるようになりました。 Atlas Kubernetes Operator を使用してプロジェクトと接続されたサブリソースを引き続き管理する場合は、次の手順に進みます。

4

Atlas Kubernetes Operator を使用してプロジェクトを管理し続ける場合は、 atlasProject配下リソースがまだ存在する場合など、 atlasProject CRD から調整ポリシー注釈を削除して調整を再度有効化します。

戻る

政府向け Atlas