AtlasThirdPartyIntegration カスタムリソースは、 Atlasプロジェクトでのサードパーティ統合を構成します。これらのリソースにより、さまざまなモニタリング サービスとの サードパーティ統合 を管理し、Atlas 配置のパフォーマンスを収集および分析できます。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator は、 カスタムリソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator2.0 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。 例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator は Atlas
AtlasProjectから対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。 この動作を Atlas Kubernetes Operator.2 0より前に使用されていたデフォルトに戻す方法などの詳細については、「新しいデフォルト: Atlas Kubernetes演算子.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プロジェクト内で DataDog 統合を定義する AtlasThirdPartyIntegration カスタムリソースを示しています。
apiVersion: atlas.mongodb.com/v1 kind: AtlasThirdPartyIntegration metadata: name: my-atlas-integ spec: projectRef: name: my-project namespace: my-operator-namespace type: DATADOG datadog: apiKeySecretRef: name: datadog-secret region: US sendCollectionLatencyMetrics: enabled sendDatabaseMetrics: enabled
独立した CRD の例
次の例では、 基本的な例AtlasThirdPartyIntegration で定義されているのと同じ DataDog 統合を定義する 独立した CRD を示しています。このカスタムリソース定義により、このリソースが定義されている Atlas Kubernetes Operator の同じプロジェクトで、このサードパーティ統合を作成できます。独立した操作を有効にするには、projectRef ではなく externalProjectRef を使用する必要があります。また、このリソースは親プロジェクトからAPI認証情報を継承できないため、connectionSecret を直接指定する必要があります。
apiVersion: atlas.mongodb.com/v1 kind: AtlasThirdPartyIntegration metadata: name: my-atlas-integ spec: externalProjectRef: projectID: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret type: DATADOG datadog: apiKeySecretRef: name: datadog-secret region: US sendCollectionLatencyMetrics: enabled sendDatabaseMetrics: enabled
パラメーター
このセクションでは、使用可能なAtlasThirdPartyIntegrationカスタム リソース パラメータについて説明します。
metadata.name型: string
必須
AtlasThirdPartyIntegrationこのサードパーティ統合をプロジェクトに追加するために使用する名前。
metadata.namespace型: string
任意
AtlasThirdPartyIntegrationカスタムリソースを含める名前空間。指定されていない場合、Atlas Kubernetes Operator はkubectlによって設定された現在の名前空間を使用します。
spec.connectionSecret型: string
条件付き
Atlas Kubernetes Operator が Atlas への接続に使用する組織IDとAPIキーを含む opaque secret の名前。指定されていない場合、Atlas Kubernetes Operator は次のいずれかにフォールバックします。
親
atlasProjectのspec.connectionSecretRef.nameパラメータデフォルトの
globalシークレット(親atlasProjectに対してspec.connectionSecretRef.nameが未定義の場合)
このパラメータは独立した CRD に必須です。
Atlas Kubernetes Operator
atlas.mongodb.com/type=credentialsは、不要な シークレット の監視を回避するために、ラベル のシークレットのみを監視します。次の例ではシークレットにラベルを付けます。
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.externalProjectRef型: string
条件付き
サードパーティ統合が属するプロジェクトのID 。既存の Atlas プロジェクト のプロジェクトIDを指定する必要があります。このパラメータは、次のいずれかによって管理されるプロジェクトに属するサードパーティ統合に必要です。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
Atlas Kubernetes Operator の同じインスタンスによって管理されるプロジェクトに属する配置では、
spec.externalProjectRef.idを使用しない場合はspec.projectRef.nameを使用します。サードパーティ統合は 1 つのプロジェクトにのみ属することができます。複数のプロジェクトに対して同じサードパーティ統合を定義するには、プロジェクトごとにカスタムリソース定義を作成します 。
spec.projectRef.name型: string
条件付き
サードパーティ統合が属するプロジェクトの名前。既存の
AtlasProjectカスタム リソース を指定する必要があります。このパラメーターは、同じインスタンスAtlas Kubernetes Operator によって管理されるプロジェクトに属するサードパーティ統合にのみ適用されます。次のいずれかによって管理されるプロジェクトに属するサードパーティ統合の場合。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
spec.externalProjectRef.idを使用します。サードパーティ統合は 1 つのプロジェクトにのみ属することができます。複数のプロジェクトに対して同じサードパーティ統合を定義するには、プロジェクトごとにカスタムリソース定義を作成します 。
spec.type型: string
必須
Atlas と統合するサードパーティ サービスの名前。この値は、次のいずれかである必要があります。
DATADOGMICROSOFT_TEAMSNEW_RELICOPS_GENIEPAGER_DUTYPROMETHEUSSLACKVICTOR_OPSWEBHOOK
各統合
typeには個別の構成フィールド セットが必要です。例、typeをDATADOGに設定する場合、構成する必要があるのはspec.datadogドキュメントとそのサブフィールドのみです。同じプロジェクト内で複数の サードパーティ統合 を定義するには、それぞれに対して個別の CRD を作成する必要があります。特定のプロジェクト内では各統合タイプの 1 つのインスタンスのみを定義できます。これは、この CRD と
AtlasProjectCRD のspec.integrationsパラメータの両方に適用されます。
spec.datadog型: ドキュメント
条件付き
DataDog サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。
DATADOGのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.datadog.apiKeySecretRef.name型: string
条件付き
DataDog APIキーを含むシークレット。
DATADOGのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.datadog.region型: string
条件付き
DataDog サービスがホストされているリージョン。
DATADOGのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.datadog.sendCollectionLatencyMetrics型: string
条件付き
コレクションレイテンシメトリクスを DataDog に送信するかどうかを制御するトグル。
enabledまたはdisabledのいずれかである必要があります。DATADOGのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.datadog.sendDatabaseMetrics型: string
条件付き
データベースメトリクスを DataDog に送信するかどうかを制御するトグル。
enabledまたはdisabledのいずれかである必要があります。DATADOGのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.microsoftTeams.urlSecretRef.name型: string
条件付き
Microsoft Teams シークレットURLを含むシークレット。
webhookURL値を含める必要があります。MICROSOFT_TEAMSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.newRelic.credentialsSecretRef.name型: string
条件付き
New Relic の認証情報を含むシークレット。これには、以下の内容が含まれている必要があります。
New Relic アカウントID
New Relic ライセンスキー
New Relic の読み取りトークンと書込みトークン
NEW_RELICのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.opsGenie型: ドキュメント
条件付き
Ops Genie サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。
OPS_GENIEのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.opsGenie.apiKeySecretRef.name型: string
条件付き
Ops Genie APIキーを含むシークレット。
OPS_GENIEのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.opsGenie.region型: string
条件付き
Ops Genie サービスがホストされているリージョン。
OPS_GENIEのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.pagerDuty型: ドキュメント
条件付き
Pager Duty サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。
PAGER_DUTYのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.pagerDuty.region型: string
条件付き
Ops Genie サービスがホストされているリージョン。
OPS_GENIEのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.prometheus型: ドキュメント
条件付き
Prometheus サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。
PROMETHEUSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.prometheus.enabled型: string
条件付き
Prometheus データコレクションを有効にする切り替え。
enabledまたはdisabledのいずれかである必要があります。PROMETHEUSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.prometheus.serviceDiscovery型: string
条件付き
Prometheus がサービスを検出する方法を決定するトグル。
httpまたはfileのいずれかに設定する必要があります。PROMETHEUSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.prometheus.prometheusCredentialsSecretRef.name型: string
条件付き
Prometheus のユーザー名とパスワードを含むシークレット。
PROMETHEUSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.slack型: ドキュメント
条件付き
Slackサードパーティ サービス統合の構成パラメーターを宣言するドキュメント。
SLACKのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.slack.apiTokenSecretRef.name型: string
条件付き
Slack APIトークンを含むシークレット。
SLACKのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.slack.channelName型: string
条件付き
Atlas と統合するSlackチャンネルの名前。
SLACKのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.slack.teamName型: string
条件付き
spec.slack.channelNameが属するSlackチームの名前。SLACKのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.victorOps型: ドキュメント
条件付き
Victor Ops サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。
VICTOR_OPSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。
spec.victorOps.apiKeySecretRef.name型: string
条件付き
Victor Ops のAPIキーを含むシークレット。
VICTOR_OPSのspec.type値を設定する場合は、このパラメータを宣言する必要があります。