MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /
/ / /

AtlasCustomRole カスタム リソース

重要

レガシー サブリソースは、対応する CRD のリリース時点で非推奨となります。構成が現在、このリソース定義のサブリソース形式に依存している場合は、 は CRD に移行します。

カスタムリソースは、データベースユーザーに権限を割り当てるためのAtlasCustomRole カスタムデータベースロールを定義します。

特定のプロジェクト内でこのカスタムロールを作成するには、次のいずれかを行う必要があります。

  • Atlas Kubernetes Operator で管理するプロジェクトで、 カスタムリソースで カスタム AtlasProjectリソース名を参照します。AtlasCustomRole

  • AtlasCustomRoleAtlas Kubernetes Operator で管理していないプロジェクトについて、 カスタムリソースで AtlasプロジェクトのプロジェクトIDを参照します。

重要

カスタム リソースはデフォルトでオブジェクトを削除しなくなりました

  • Atlas Kubernetes Operator はカスタムリソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator2.0 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。 例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator は AtlasAtlasProject から対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。 この動作を Atlas Kubernetes Operator. 以前に使用されていたデフォルトに戻す方法などの詳細については、「2 0新しいデフォルト: Atlas Kubernetes Operator. の削除保護2 0」を参照してください。

    同様に、Atlas Kubernetes Operator を使用してKubernetesの Atlasプロジェクトからチームを削除しても、Atlas Kubernetes Operator は Atlas からチームを削除しません。

  • デフォルトのAtlas 構成値が暗黙的に使用されるのを避けるために、必要な構成の詳細を明示的に定義します。 場合によっては、Atlas のデフォルトを継承すると調整ループが発生し、カスタムリソースがREADY 状態に達しなくなります。 例、含まれている例に示すように、 AtlasDeployment カスタムリソースで必要なオートスケーリング動作を明示的に定義すると、カスタムリソース内の静的インスタンスサイズが、オートスケーリングが有効になっている Atlas 配置に繰り返し適用されないことが保証されます。

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40

Atlas Kubernetes Operator は、Atlas カスタム データベース ロールAPIリソースを使用して次のいずれかのアクションを実行します。

  • 新しいカスタムデータベースロールを作成します。

  • 既存のカスタムデータベースロールをアップデートします。

次の例では、 my-projectプロジェクト内の シャーディングされたクラスター をバックアップとモニタリングの特権を持つ shard-operatorカスタムロールを定義する 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

次の例では、基本的な例AtlasCustomRole で定義されているのと同じ カスタムロールを定義する 独立した CRDshard-operator を示しています。このカスタムリソース定義により、このリソースを定義する Atlas Kubernetes Operator の同じインスタンスで管理していないプロジェクトにこのロールを作成できます。 独立した操作 を有効にするには、projectRef ではなく externalProjectRef を使用する必要があります。また、このリソースは親プロジェクトからAPI認証情報を継承できないため、connectionSecret を直接指定する必要があります。

apiVersion: atlas.mongodb.com/v1
kind: AtlasCustomRole
metadata:
name: shard-operator-role
namespace: mongodb-atlas-system
labels:
mongodb.com/atlas-reconciliation-policy: keep
spec:
externalProjectRef:
id: 671998971c8520583f24f411
connectionSecret:
name: my-atlas-key
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

AtlasCustomRole は、AtlasCustomRole APIのスキーマです

Name
タイプ
説明
必須

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasCustomRole

true

metadata

オブジェクト

metadataフィールドのフィールドについては、 Kubernetes API のドキュメントを参照してください。

true

spec

オブジェクト

AtlasCustomRoleSpec は、Atlas の CustomRole のターゲット状態を定義します。検証:

  • (has(自分:``externalProjectRef``)&+ .has(自分.``projectRef``))|| (!has(自分自身.``externalProjectRef``)& は(自分自身.``projectRef``):externalProjectRef または projectRef を通じてプロジェクト参照を1 つだけ定義する必要があります

  • (has(自分:``externalProjectRef``)&+ has(自己.`` connectionSecret``))||です:は、外部プロジェクトを参照するときにローカル接続シークレットを定義する必要があります

false

status

オブジェクト

AtlasCustomRoleStatus は、AtlasCustomRole カスタムリソースの status です。AtlasProject に含まれるものではない

false

AtlasCustomRoleSpec は、Atlas の CustomRole の状態を定義します。

Name
タイプ
説明
必須

role

オブジェクト

ロールは Atlas のカスタムロールを表します。

true

connectionSecret

オブジェクト

Atlas API の秘密キーと公開キーを含むシークレットの名前。

false

externalProjectRef

オブジェクト

externalProjectRef は親 AtlasプロジェクトID を保持します。"projectRef"フィールドと排他関係にあります。

false

projectRef

オブジェクト

projectRef は親の AtlasProjectリソースへの参照です。"externalProjectRef"フィールドと排他関係にあります。

false

ロールは Atlas のカスタムロールを表します。

Name
タイプ
説明
必須

name

string

ロールを識別する、人間が判読できるラベル。この name は、このプロジェクト内のこのカスタムロールに対して一意である必要があります。

true

actions

[]オブジェクト

ロールが付与する個々の権限actionsのリスト。

false

inheritedRoles

[]オブジェクト

このカスタムロールが継承する組み込みロールのリスト。

false

Name
タイプ
説明
必須

name

string

特権アクションを識別する、人間が判読可能なラベル。

true

resources

[]オブジェクト

アクションを付与する resources のリスト。

true

Name
タイプ
説明
必須

cluster

ブール値

clusterリソースでアクションを許可するかどうかを示すフラグ。true の場合、MongoDB クラウドはデータベースとコレクション パラメータを無視します。

false

collection

string

1 人の MongoDB ユーザーにアクションを付与する collection を識別する、人間が判読できるラベル。

false

database

string

1 人の MongoDB ユーザーにアクションを付与する database を識別する、人間が判読できるラベル。

false

Name
タイプ
説明
必須

database

string

誰かが 1 人のMongoDBユーザーにアクションを付与するdatabaseを識別する、人間が判読できるラベル。

true

name

string

継承されたロールを識別する、人間が判読できるラベル。

true

Atlas API の秘密キーと公開キーを含むシークレットの名前。

externalProjectRef は親 AtlasプロジェクトIDを保持します。"projectRef"フィールドと排他関係にあります。

Name
タイプ
説明
必須

id

string

ID は、AtlasプロジェクトID です。

true

projectRef は、親の Atlas Projectリソースへの参照です。"external ProjectRef"フィールドと排他関係にあります。

Name
タイプ
説明
必須

name

string

Kubernetesリソースの名前

true

namespace

string

Kubernetesリソースの名前空間

false

AtlasCustomRoleStatus は、 AtlascustomRole カスタムリソースのステータスです。Atlas プロジェクト に含まれていないもの

Name
タイプ
説明
必須

conditions

[]オブジェクト

条件は、Atlas カスタム リソースの現在の状態を示すステータスのリストです

true

observedGeneration

integer

ObservedGeneration は、Atlas 演算子が認識しているリソース仕様の生成を示します。Atlas 演算子は、このフィールドを「メタデータ.generate 」の値に更新します。が、リソースの調整を開始するとすぐに 表示されます。形式: int64

false

条件 は、 特定の点における Atlas カスタム リソースの状態を表します。

Name
タイプ
説明
必須

status

string

条件のステータス。 True、False、Unknown のいずれか 1 つ。

true

type

string

Atlas カスタム リソース条件のタイプ。

true

lastTransitionTime

string

条件があるステータスから別のステータスに最後に移行した時刻。ISO 8601形式で表されます。形式: 日時

false

message

string

移行に関する詳細を提供する message

false

reason

string

条件の最後の移行の reason

false

戻る

AtlasBackupSchedule

項目一覧