Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes 演算子
/

Helm Charts クイックスタート

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

注意

Helm なしで を開始しますか。

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

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

  • x86-64、AMD64、または ARM64 アーキテクチャで実行中のプロセッサを含む実行中の Kubernetes クラスター。

のAtlas Kubernetes Operator プロジェクトにアクセスできます。Github

  • https://github.com/mongodb/mongodb-atlas-kubernetes

重要

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

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 の削除保護 」を参照してください。

1

新しい Atlas アカウントを登録するか、 Atlas アカウントにログインします 。

2

注意

Atlas Kubernetes Operator から Atlas へのアクセスを構成するには、次の公開 API キー、プライベート API キー、および組織 ID 情報が必要です。

組織へのプログラムによるアクセスを付与し、 API Access Listを構成します。

Atlas Kubernetes Operator から Atlas へのアクセスを構成するには、次の公開 API キー、プライベート API キー、および組織 ID 情報が必要です。

3

次のいずれかのコマンドセットを実行します。

  • Atlas Kubernetes Operator でKubernetesクラスター内のすべての名前空間を監視するには、次のコマンドを実行します。

    helm repo add mongodb https://mongodb.github.io/helm-charts
    helm install atlas-operator --namespace=atlas-operator --create-namespace mongodb/mongodb-atlas-operator
  • Atlas Kubernetes Operator が自分の名前空間のみを監視する場合は、--watchNamespaces フラグを独自の名前空間に設定し、次のコマンドを実行します。

    注意

    --watchNamespacesフラグは、それ自体の名前空間にのみ設定できます。他の名前空間への--watchNamespaces フラグの設定は現在サポートされていません。

    helm install atlas-operator --namespace=atlas-operator --set watchNamespaces=atlas-operator --create-namespace mongodb/mongodb-atlas-operator
4
  1. Atlas プロジェクトとそのデータベースユーザーをカスタマイズします。

    install-values.yamlという名前のファイルを作成し、次のサンプル コードを貼り付けます。これにより、次の処理が行われます。

    • プロジェクト名をMy Projectに設定します。

    • すべての IP アドレス(0.0.0.0)にプロジェクトへのアクセスを許可します。

    • dbAdminロールを持つdbadminという名前のデータベースユーザーを作成します。

    • readWriteロールを持つdbuserという名前のデータベースユーザーを作成します。

    project: # Project custom values
    atlasProjectName: "My Project"
    projectIpAccessList:
    - cidrBlock: "0.0.0.0/0"
    users: # Custom database users
    - username: dbadmin
    databaseName: admin
    roles:
    - databaseName: admin-role
    roleName: dbAdmin
    - username: dbuser
    databaseName: admin
    roles:
    - databaseName: user-role
    roleName: readWrite
  2. 次のコマンドを実行します。

    次のコマンドの--setフラグと--valuesフラグは、組織 ID、API キー、Atlas プロジェクト構成で、 Values.yamlファイルの値とデフォルトの Helm Charts の値を上書きします。

    注意

    mongodb/atlas-deployment は、リポジトリ内のチャートの名前を参照します。

    helm install atlas-deployment \
    mongodb/atlas-deployment \
    --namespace=my-cluster \
    --create-namespace \
    --set atlas.secret.orgId='<orgid>' \
    --set atlas.secret.publicApiKey='<publicKey>' \
    --set atlas.secret.privateApiKey='<privateApiKey>' \
    --values install-values.yaml

    利用可能なパラメータの詳細については、「 AtlasDeploymentカスタム リソース 」を参照してください。

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

5

次のコマンドを実行して、 dbadminデータベースユーザーが準備ができるまで待ちます。

kubectl wait --for=condition=ready --timeout=10m -n my-cluster atlasdatabaseusers/atlas-deployment-dbadmin

注意

AtlasDatabaseUserカスタム リソースは、データベースの配置が準備ができるまで待機します。 新しいデータベース配置の作成には最大 10 分かかります。

6

重要

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

次のコマンドを実行して、dbadmin データベースユーザーの接続文字列とパスワードを取得します。 接続文字列は出力例とは異なります。

kubectl get secret -n my-cluster my-project-cluster-name-dbadmin -ojson | jq -r '.data | with_entries(.value |= @base64d)';
{
"connectionStringStandard": "mongodb://admin-user:%25SomeLong%25password$foradmin@atlas-cluster-shard-00-00.nlrvs.mongodb.net:27017,atlas-cluster-shard-00-01.nlrvs.mongodb.net:27017,atlas-cluster-shard-00-02.nlrvs.mongodb.net:27017/?ssl=true&authSource=admin&replicaSet=atlas-11q9bn-shard-0",
"connectionStringStandardSrv": "mongodb+srv://admin-user:%25SomeLong%25password$foradmin@atlas-cluster.nlrvs.mongodb.net",
"password": "%SomeLong%password$foradmin",
"username": "dbadmin"
}

アプリケーションでは、次のシークレットを使用できます。

containers:
- name: test-app
env:
- name: "CONNECTION_STRING"
valueFrom:
secretKeyRef:
name: my-project-cluster-name-dbadmin
key: connectionStringStandardSrv

戻る

パッケージの整合性の検証