のAtlas Kubernetes Operator プロジェクトにアクセスできます。Github
Atlas アカウント
Before you deploy Atlas Kubernetes Operator, you must create an Atlas account. To learn more, see Register and Log in to Atlas.
API キー
Atlas Kubernetes Operator から Atlas へのアクセスを構成するには、次の公開 API キー、プライベート API キー、および組織 ID 情報が必要です。
Atlas Kubernetes Operator で新しい Atlasプロジェクトを作成する場合は、 組織へのプログラムによるアクセスの付与 。組織で Atlas Administration APIのIP アクセス リストが必要な場合は、 APIアクセス リストも設定する必要があります。
重要
API キーには、 Organization Project Creator組織ロール以上を割り当てる必要があります。
既存の Atlasプロジェクトを操作する場合は、 プロジェクトからプロジェクト アクセスを追加 します。組織で Atlas Administration APIのIP アクセス リストが必要な場合は、 APIアクセス リストも設定する必要があります。
重要
Project Ownerプロジェクト ロールに API キーを割り当てる必要があります。
詳細については、「 Atlas へのアクセスの設定 」を参照してください。
サービス アカウント
API キーの代替として、トークンベース認証にサービスアカウントを使用できます。詳細については、「 サービスアカウントを使用した Atlas へのアクセスの設定 」を参照してください。
名前空間
Atlas Kubernetes Operator を配置すると、 Kubernetesクラスター内のすべての名前空間またはその名前空間のみを監視できます。
Amazon Web Servicesセキュリティ グループ
You must configure VPC peering for your project before you can add an AWS security group to an access list. You can't set AWS security groups as temporary access list entries.
非推奨の構成パラメーター
次のパラメータは Atlas APIでは非推奨となり、Atlas Kubernetes Operator はそれらをサポートしていません。
replicationSpecreplicationFactor
クラスターの作成
無料のクラスターの作成は 15 秒未満で完了します。
Flex クラスターまたは専有クラスターの作成には最大 10 分かかります。
接続文字列
接続URL を直接使用することはできません。Atlas クラスターには認証が必要です。Kubernetesクラスター内のアプリケーションがAtlas クラスターに接続する前に、少なくとも 1 つのAtlasDatabaseUser カスタム リソースを作成する必要があります。Atlas Kubernetes Operator は、プロジェクト内の各クラスターとデータベースユーザーの組み合わせに対して特別なシークレットを作成します。Kubernetesクラスター内のアプリケーションは、このシークレットを使用して Atlas クラスターに接続できます。AtlasDatabaseUser カスタムリソースの spec.scopes パラメータは、データベースユーザーを作成するクラスターを制限します。
接続情報
Atlas Administration API に接続するには、Atlas Kubernetes Operator は次のいずれかのロケーションから組織 ID と認証情報 (API キーまたはサービス アカウンント) を読み取ります。
spec.connectionSecretRef.name(
AtlasProjectカスタム リソース で指定されている場合)。デフォルトでは 、Atlas Kubernetes Operator は カスタム
AtlasProjectリソースと同じ名前空間に接続シークレットを保持します。シークレットを別の名前空間に保存するには、spec. connectionSecretRef を指定します。名前空間パラメータ。globalAtlas Kubernetes Operator シークレット<operator-deployment-name>-api-key(spec. connectionSecretRef.name が指定されていない場合)。
Atlas でリソースを作成または更新するために、Atlas Kubernetes Operator は接続情報を使用して Atlas へのAPI呼び出しを行います。
注意
Sometimes Atlas Kubernetes Operator makes multiple API calls in Atlas during the reconciliation of a custom resource. For example, AtlasProject has an IP Access List configuration for calling the matching API.
調整中にエラーが発生した場合、 status.conditionsはエラーを反映するようにアップデートします。
例
- lastTransitionTime: "2021-03-15T14:26:44Z" message: 'POST https://cloud.mongodb.com/api/atlas/v1.0/groups/604a47de73cd8cag77239021/accessList: 400 (request "INVALID_IP_ADDRESS_OR_CIDR_NOTATION") The address 192.0.2.1dfdfd5 must be in valid IP address or CIDR notation.' reason: ProjectIPAccessListNotCreatedInAtlas status: "False" type: IPAccessListReady
サポートされている配置フラグ
を配置する場合。 kubectlを使用する Atlas Kubernetes Operator には、次のフラグを追加して構成をカスタマイズできます。
Flag | 説明 | デフォルト値 |
|---|---|---|
| スラッシュで終わる Atlas URL ドメイン名。 |
|
| メトリクスエンドポイントがバインドするアドレス。 |
|
| プロバイダーエンドポイントがバインドするアドレス。 |
|
| Atlas 認証情報 (API キーまたはサービス アカウント)を含むシークレットの名前。Atlas Kubernetes Operator は、 |
|
| コントローラー マネージャーのリーダー選挙を有効にするかどうかを示すフラグ。 リーダー選挙により、一度に 1 つのコントローラー マネージャーのみがアクティブになります。 |
|
| ログ エントリの重要性または緊急性のレベル。 次のいずれかのレベルを指定できます。
|
|
| ログ レコードの形式。 次のいずれかの形式を指定できます。
|
|
例
次のコマンドは、ログ レベル がerrorで、ポート:8084のメトリクス エンドポイントで Atlas Kubernetes Operator 1.8.2 の配置を設定します。
kubectl apply --metrics-bind-address :8084 \ --log-level error \ -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/1.8.2/deploy/all-in-one.yaml