Docs Menu
Docs Home
/ /
/ / /

AtlasThirdPartyIntegration カスタム リソース

AtlasThirdPartyIntegration カスタムリソースは、 Atlasプロジェクトでのサードパーティ統合を構成します。これらのリソースにより、さまざまなモニタリング サービスとの サードパーティ統合 を管理し、Atlas 配置のパフォーマンスを収集および分析できます。

重要

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

  • 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演算子.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

次の例では、 基本的な例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 は次のいずれかにフォールバックします。

  • atlasProjectspec.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 と統合するサードパーティ サービスの名前。この値は、次のいずれかである必要があります。

  • DATADOG

  • MICROSOFT_TEAMS

  • NEW_RELIC

  • OPS_GENIE

  • PAGER_DUTY

  • PROMETHEUS

  • SLACK

  • VICTOR_OPS

  • WEBHOOK

各統合 type には個別の構成フィールド セットが必要です。例、typeDATADOG に設定する場合、構成する必要があるのは spec.datadogドキュメントとそのサブフィールドのみです。

同じプロジェクト内で複数の サードパーティ統合 を定義するには、それぞれに対して個別の CRD を作成する必要があります。特定のプロジェクト内では各統合タイプの 1 つのインスタンスのみを定義できます。これは、この CRD と AtlasProject CRD の spec.integrations パラメータの両方に適用されます。

spec.datadog

: ドキュメント

条件付き

DataDog サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。

DATADOGspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.datadog.apiKeySecretRef.name

: string

条件付き

DataDog APIキーを含むシークレット。

DATADOGspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.datadog.region

: string

条件付き

DataDog サービスがホストされているリージョン。

DATADOGspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.datadog.sendCollectionLatencyMetrics

: string

条件付き

コレクションレイテンシメトリクスを DataDog に送信するかどうかを制御するトグル。 enabled または disabled のいずれかである必要があります。

DATADOGspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.datadog.sendDatabaseMetrics

: string

条件付き

データベースメトリクスを DataDog に送信するかどうかを制御するトグル。 enabled または disabled のいずれかである必要があります。

DATADOGspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.microsoftTeams.urlSecretRef.name

: string

条件付き

Microsoft Teams シークレットURLを含むシークレット。webhookURL 値を含める必要があります。

MICROSOFT_TEAMSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.newRelic.credentialsSecretRef.name

: string

条件付き

New Relic の認証情報を含むシークレット。これには、以下の内容が含まれている必要があります。

  • New Relic アカウントID

  • New Relic ライセンスキー

  • New Relic の読み取りトークンと書込みトークン

NEW_RELICspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.opsGenie

: ドキュメント

条件付き

Ops Genie サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。

OPS_GENIEspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.opsGenie.apiKeySecretRef.name

: string

条件付き

Ops Genie APIキーを含むシークレット。

OPS_GENIEspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.opsGenie.region

: string

条件付き

Ops Genie サービスがホストされているリージョン。

OPS_GENIEspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.pagerDuty

: ドキュメント

条件付き

Pager Duty サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。

PAGER_DUTYspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.pagerDuty.serviceKeySecretRef.name

: string

条件付き

Pager Duty サービス キーを含むシークレット。

spec.pagerDuty.region

: string

条件付き

Ops Genie サービスがホストされているリージョン。

OPS_GENIEspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.prometheus

: ドキュメント

条件付き

Prometheus サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。

PROMETHEUSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.prometheus.enabled

: string

条件付き

Prometheus データコレクションを有効にする切り替え。enabled または disabled のいずれかである必要があります。

PROMETHEUSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.prometheus.serviceDiscovery

: string

条件付き

Prometheus がサービスを検出する方法を決定するトグル。http または file のいずれかに設定する必要があります。

PROMETHEUSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.prometheus.prometheusCredentialsSecretRef.name

: string

条件付き

Prometheus のユーザー名とパスワードを含むシークレット。

PROMETHEUSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.slack

: ドキュメント

条件付き

Slackサードパーティ サービス統合の構成パラメーターを宣言するドキュメント。

SLACKspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.slack.apiTokenSecretRef.name

: string

条件付き

Slack APIトークンを含むシークレット。

SLACKspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.slack.channelName

: string

条件付き

Atlas と統合するSlackチャンネルの名前。

SLACKspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.slack.teamName

: string

条件付き

spec.slack.channelName が属するSlackチームの名前。

SLACKspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.victorOps

: ドキュメント

条件付き

Victor Ops サードパーティ サービス統合の構成パラメーターを宣言するドキュメント。

VICTOR_OPSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.victorOps.apiKeySecretRef.name

: string

条件付き

Victor Ops のAPIキーを含むシークレット。

VICTOR_OPSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.victorOps.routingKey

: string

条件付き

Victor Ops ルーティング キー。

VICTOR_OPSspec.type 値を設定する場合は、このパラメータを宣言する必要があります。

spec.webhook.urlSecretRef.name

: string

条件付き

Webhook URLとシークレットを含む Secret。

戻る

AtlasStreamInstance

項目一覧