AtlasプロジェクトをAtlas Kubernetes Operatorにインポート
既存の Kubernetes 配置があり、Atlas Kubernetes Operator の使用を開始する場合は、Atlas CLI の atlas kubernetes config generate
またはatlas kubernetes config apply
コマンドを使用して、Atlas のプロジェクト、配置、データベースユーザーをエクスポートできます。
どちらのコマンドでも、 Atlas Kubernetes Operatorが実行されるKubernetesまたはOpenShiftクラスターで使用するために、 Atlas Kubernetes Operatorと互換性のある形式で構成をエクスポートできます。 atlas kubernetes config generate
コマンドは YAML形式の構成をターミナルのstdout
に出力することでこれを実現します。一方、 atlas kubernetes config apply
コマンドは構成をメモリに保存し、それをターゲットの Kubernetes クラスターに直接送信します。
Overview
どちらのコマンドも、次の Atlas Kubernetes Operator リソースを含む.yaml
形式の構成を生成します。
パラメーター
コマンドは、次のパラメーターを取ります。
Parameter | 説明 | 必要性 |
---|---|---|
--projectId | プロジェクトを識別する一意な 24 桁の 16 進数のstring 。 省略した場合、デフォルトは atlascli 構成ファイルのprojectId 値になります。 | 必須。 |
--clusterName | エクスポートするクラスターを識別する、人間が判読可能なラベルのコンマ区切りリスト。 これらは、 projectId パラメーターで指定されたプロジェクト内のクラスターである必要があります。 省略した場合、コマンドは指定されたプロジェクト内のすべてのクラスターをエクスポートします。 | 任意。 |
--includeSecrets | Atlas 認証情報シークレットの 構成ファイル のエントリを入力するフラグ。 省略した場合、コマンドはシークレットを作成しますが、データはそれに入力されません。 シークレットはプレーン テキストとしてレンダリングされます。 | 任意。 |
--targetNamespace | リソースのエクスポート先の Kubernetes 名前空間。 コマンドは、エクスポートされた各 Atlas エンティティの metadata.namespace フィールドに、このパラメータの値を入力します。 | 必須。 |
--operatorVersion | ファイルをエクスポートする Atlas Kubernetes Operator のバージョン。 省略した場合、コマンドは Atlas Kubernetes Operator v1.5.1 と互換性のあるファイルをエクスポートします。 | 任意。 |
コマンドは、次のパラメーターを取ります。
Parameter | 説明 | 必要性 |
---|---|---|
--projectId | プロジェクトを識別する一意な 24 桁の 16 進数のstring 。 省略した場合、デフォルトは atlascli 構成ファイルのprojectId 値になります。 | 必須。 |
--orgId | プロジェクトを登録するAtlas組織を識別する一意の24桁の16進数文字列。省略した場合、 atlascli 構成ファイルまたはORGID 環境変数のorgId 値がデフォルトで設定されます。 | 任意。 |
--clusterName | エクスポートするクラスターを識別する、人間が判読可能なラベルのコンマ区切りリスト。 これらは、 projectId パラメーターで指定されたプロジェクト内のクラスターである必要があります。 省略した場合、コマンドは指定されたプロジェクト内のすべてのクラスターをエクスポートします。 | 任意。 |
--targetNamespace | リソースのエクスポート先の Kubernetes 名前空間。 コマンドは、エクスポートされた各 Atlas エンティティの metadata.namespace フィールドに、このパラメータの値を入力します。 | 必須。 |
--operatorVersion | ファイルをエクスポートする Atlas Kubernetes Operator のバージョン。 省略した場合、コマンドは Atlas Kubernetes Operator v1.5.1 と互換性のあるファイルをエクスポートします。 | 任意。 |
--kubeContext | Kubeconfig クラスターに接続するために使用するコンテキスト。 | 必須 |
--kubeconfig | kubeconfig ファイルへのパス。 | 必須 |
互換性
atlascli
は、Atlas Kubernetes Operator にバージョン依存する形式で Atlas から構成をエクスポートします。 次の表では、 atlascli
のどのバージョンが Atlas Kubernetes Operator のどのバージョンをサポートしているかを示しています。
atlascli バージョン | Atlas Kubernetes Operator バージョン |
---|---|
1.4.0 | 1.5.0 |
例
次の例では、 sampleProject
という名前のプロジェクト、 sample1
、 sample2
、 sample3
という名前のクラスター、 63500d1139dd494b92fe4376
のプロジェクト ID、およびsampleNamespace
のターゲット名前空間があることを前提としています。
すべての Atlas 配置と認証情報を含むプロジェクト全体をエクスポートするには、次のコマンドを実行します。
atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \ --includeSecrets --targetNamespace=sampleNamespace
シークレット認証情報なしでプロジェクトから 2 つの特定の Atlas 配置をエクスポートするには、次のコマンドを実行します。
atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \ --clusterName=sample1,sample2 --targetNamespace=sampleNamespace
上記のコマンド例では、出力を kubectl apply
コマンドにパイプすることで、生成された構成をKubernetesまたはOpenShiftクラスターに適用できます。 次のコマンドの例は、これを示しています。
atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \ --clusterName=sample1,sample2 --targetNamespace=sampleNamespace \ | kubectl apply -f -
または、 stdout
を.yaml
ファイルにリダイレクトすることで、生成された構成を保存できます。 次のコマンドは、シークレット認証情報なしでプロジェクトから単一の Atlas 配置をインポートし、出力をmyAtlasProject.yaml
に保存します。
atlas kubernetes config generate --projectId=63500d1139dd494b92fe4376 \ --clusterName=sample3 --targetNamespace=sampleNamespace \ myAtlasProject.yaml
構成の適用
このシナリオで生成された構成をKubernetesまたはOpenShiftクラスターに適用するには、.yaml
ファイルを kubectl apply
コマンドの引数として渡します。
kubectl apply -f myAtlasProject.yaml
プロジェクト全体をエクスポートするには、次のコマンドを実行します。
atlas kubernetes config apply --projectId=63500d1139dd494b92fe4376 \ --targetNamespace=sampleNamespace
プロジェクトから 2 つの特定の Atlas 配置をエクスポートするには、次のコマンドを実行します。
atlas kubernetes config apply --projectId=63500d1139dd494b92fe4376 \ --clusterName=sample1,sample2 --targetNamespace=sampleNamespace In contrast to ``atlas kubernetes config generate``, this command directly applies the generated configuration without any further manual operation on your part.