AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

クイック スタート

Atlas Kubernetes Operator を使用すると、Kubernetes を離れることなく Atlas 内のリソースを管理できます。 このチュートリアルでは、Atlas Kubernetes Operator を使用して、Kubernetes 構成ファイルから Atlas に最初のクラスターを作成する方法を説明します。

警告

マルチテナントのセキュリティガイダンス

複数のテナントで単一の Atlas Kubernetes Operator インストールを共有しないでください。テナントが異なる名前空間を使用している場合でも同様です。演算子を共有するテナントは、クロス名前空間参照を使用して、他の名前空間のリソースにアクセスできます。これには、他のテナントの Atlas 構成または他のクラウド リソースへのアクセスを提供するシークレットが含まれます。テナントを分離するには、テナントごとに別々の Atlas Kubernetes Operator インスタンスを配置します。

注意

Helm を使用して を開始することをおすすめしますか。

Atlas Kubernetes Operator を使用して Helm Charts から Atlas に最初のクラスターを作成するには、「 Helm Charts クイック スタート 」を参照してください。

このチュートリアルには次のものが必要です。

ネットワーク要件:

  • Atlas Kubernetes Operator がリソースを作成および管理するには、Kubernetes ノードはポート 443 (HTTPS) で Atlas に接続する必要があります。

  • マルチノード レプリカセットを配置する場合は、すべての Kubernetes ポッド間でポート 27017 (デフォルト) を開く必要があります。

重要

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

  • 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
1

Register and Log in to Atlas or Register and Log in to Atlas.

2

Atlas Kubernetes Operator をインストールするには、次のいずれかの方法を選択します。

Atlas CLI を使用して Atlas Kubernetes Operator をインストールするには、次のコマンドを実行します。

重要

Atlas CLI は API キーを作成しますが、クラスターの送信 IP を検出できません。--ipAccessList フラッグを使用して Kubernetes クラスターの IP または CIDR ブロックをホワイトリストに追加することで、Atlas Kubernetes Operator が Atlas と通信できるようにします。

To create the API key, the authenticated user or service account must have Organization Owner access to the organization. Without this access, the command fails with an HTTP 401 Unauthorized error from POST /api/atlas/v2/orgs/<orgId>/apiKeys.

atlas kubernetes operator install --ipAccessList <IP_OR_CIDR> [options]

注意

Atlas for Government に Atlas Kubernetes Operator をインストールするには、前のコマンドに --atlasGov フラグを追加します。

このコマンドは自動的に次のことを行います。

  • Atlas組織に新しいAPIキーを作成します。

  • Adds your provided IP/CIDR to the API key's IP access list.

  • GitHub からマニフェストを取得して、現在の kubectl コンテキストで構成されている Kubernetes クラスターに Atlas Kubernetes Operator をインストールします。

コマンドを実行する前にアクティブなコンテキストを確認するには、kubectl config current-contextを実行します。別のクラスターに切り替えるには、kubectl config use-context <context-name>を実行します。

To learn more about the command syntax and parameters, see the Atlas CLI documentation for atlas kubernetes operator install.

3

Atlas Kubernetes OperatorがAtlasでèª èa証するために使用するsecretを作成し、ラベルを付けます。お好みの認証方法に合わせてタブを選択します。

APIキーと組織IDを使用して次のコマンドを実行します:

kubectl create secret generic mongodb-atlas-operator-api-key \
--from-literal="orgId=<atlas_organization_id>" \
--from-literal="publicApiKey=<atlas_api_public_key>" \
--from-literal="privateApiKey=<atlas_api_private_key>" \
-n mongodb-atlas-system
kubectl label secret mongodb-atlas-operator-api-key atlas.mongodb.com/type=credentials -n mongodb-atlas-system

外部シークレット ストレージを使用する場合、外部シークレット マネージャーは Kubernetes secret を作成および管理します。詳細については、「シークレット ストレージの構成」を参照してください。

4

次のコマンドを実行して、 AtlasProjectカスタム リソースを作成します。

注意

次の例では spec.connectionSecretRef.name を指定していません。指定しない場合、Atlas Kubernetes Operator は、以前に認証情報と組織 ID で設定されたデフォルトの接続 シークレット を使用します。

Atlas Kubernetes Operator カスタム リソースを配置します。

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Atlas Operator Project
projectIpAccessList:
- ipAddress: <your-ip-address-range>
comment: "Adding your IP to Atlas access list"
EOF
5

次のいずれかのコマンドを実行してAtlasDeploymentカスタム リソースを作成し、クラスターを作成します。

有料階層:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
spec:
projectRef:
name: my-project
deploymentSpec:
clusterType: REPLICASET
name: "Test-cluster"
tags:
- key: "environment"
value: "production"
replicationSpecs:
- zoneName: US-Zone
regionConfigs:
- electableSpecs:
instanceSize: M10
nodeCount: 3
providerName: AWS
regionName: US_EAST_1
priority: 7
EOF

無料クラスター:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDeployment
metadata:
name: my-atlas-cluster
spec:
projectRef:
name: my-project
deploymentSpec:
clusterType: REPLICASET
name: "Test-cluster"
replicationSpecs:
- regionConfigs:
- regionName: US_EAST_1
providerName: TENANT
backingProviderName: AWS
electableSpecs:
instanceSize: M0
nodeCount: 3
EOF

サーバーレスインスタンスを作成するには、「 サーバーレスインスタンスの例 」を参照してください。

6

P@@ssword%をパスワードに置き換え、次のコマンドを実行します。

kubectl create secret generic the-user-password --from-literal="password=P@@sword%"
kubectl label secret the-user-password atlas.mongodb.com/type=credentials

外部シークレット ストレージを使用する場合、外部シークレット マネージャーは Kubernetes secret を作成および管理します。詳細については、「シークレット ストレージの構成」を参照してください。

7

次のコマンドを実行して、 AtlasDatabaseUserカスタム リソースを作成します。

注意

spec.passwordSecretRef は、過去に作成したパスワードを参照必要があります。

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasDatabaseUser
metadata:
name: my-database-user
spec:
roles:
- roleName: "readWriteAnyDatabase"
databaseName: "admin"
projectRef:
name: my-project
username: theuser
passwordSecretRef:
name: the-user-password
EOF
8

データベースユーザーが準備できたことを示すTrue応答が返されるまで、次のコマンドを実行します。

注意

AtlasDatabaseUser Custom リソースは、クラスターの準備が完了するまで待機します。新しいFreeクラスターの作成には15秒もかかりません。新しいFlexクラスターまたは専有クラスターの作成には、最大10分かかる場合があります。

kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
9
  1. 次のコマンドをコピーします。

    重要

    次のコマンドにはjq 1.6 以上が必要です。

    kubectl get secret {my-project}-{my-atlas-cluster}-{my-database-user} -o json | jq -r '.data | with_entries(.value |= @base64d)';
  2. 次のプレースホルダーをカスタム リソースの詳細に置き換えます。

    my-project

    AtlasProjectカスタム リソースのmetadataフィールドの値を指定します。

    my-atlas-cluster

    AtlasDeploymentカスタム リソースのmetadataフィールドの値を指定します。

    my-database-user

    AtlasDatabaseUserカスタム リソースのmetadataフィールドの値を指定します。

  3. コマンドを実行します。

    注意

    接続文字列は次の例とは異なります。

    {
    "connectionStringStandard": "mongodb://theuser:P%40%40sword%25@test-cluster-shard-00-00.peqtm.mongodb.net:27017,test-cluster-shard-00-01.peqtm.mongodb.net:27017,test-cluster-shard-00-02.peqtm.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-pk82fl-shard-0",
    "connectionStringStandardSrv": "mongodb+srv://theuser:P%40%40sword%25@test-cluster.peqtm.mongodb.net",
    "password": "P@@sword%",
    "username": "theuser"
    }

    この Kubernetes Secret はアプリケーションで使用できます。

    containers:
    - name: test-app
    env:
    - name: "CONNECTION_STRING"
    valueFrom:
    secretKeyRef:
    name: test-atlas-operator-project-test-cluster-theuser
    key: connectionStringStandardSrv

手順が完了したら、接続する前にクラスターが準備できていることを確認します。

チェックポイント
検証ステップ

カスタム リソースの準備が完了しました

kubectl get atlasdeployment -n <your-namespace> を実行し、AtlasDeployment リソースに READY 条件が True として表示されることを確認します。

Atlas のクラスターは正常です

Atlas UI で、クラスターがステータス Active でプロジェクト内に表示されていることを確認します。

接続に成功しました

Use the connection string from Atlas to connect with mongosh and confirm the cluster is reachable.

クラスターを検証した後、次の操作を行うことができます。

  • アクセス制御の構成: データベースユーザーとネットワーク アクセスを設定します。学ぶには、Atlas Kubernetes Operator を使い始めるを参照してください。

  • バックアップの設定: クラスターのクラウドバックアップを構成します。学ぶには、手順を参照してください。

  • Atlas 検索インデックスを作成する: データでフルテキスト検索を有効にします。方法を学ぶには、「Kubernetes で Atlas 検索インデックスを作成する」を参照してください。

  • Helm に基づいたクイックスタートを試す: 構成ファイルの代わりに Helm Charts からクラスターを配置します。方法を学ぶには、「Helm Charts クイックスタート」を参照してください。

このページを評価