对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

AtlasNetworkPeering 自定义资源

重要

旧版子资源自相应的 CRD发布以来已被弃用。如果您的配置当前依赖于此资源定义的子资源形式,迁移到 CRD。

AtlasNetworkPeering自定义资源定义了Atlas项目的网络对等连接。网络对等连接将流量与公共网络隔离以提高安全性。

重要

自定义资源不再默认删除对象

  • Atlas Kubernetes Operator使用自定义资源配置文件来管理Atlas配置,但从Atlas Kubernetes Operator2.0 开始,您在Kubernetes中删除的自定义资源不再(默认)在Atlas中删除。相反, Atlas Kubernetes Operator只是停止管理Atlas中的这些资源。 AtlasProject示例,如果您在Kubernetes中删除 自定义资源,默认默认, Atlas Kubernetes Operator不再自动从Atlas中删除相应的项目。这种行为更改旨在帮助防止意外删除。 要学习;了解详情,包括如何将此行为恢复为在Atlas Kubernetes Operator.2 0之前使用的默认,请参阅新默认值: Atlas Kubernetes2 Operator.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 does one of the following actions using the Atlas Network Peering API Resource:

  • 创建新的网络对等连接。

  • 更新现有网络对等连接。

注意

一个网络对等连接只能属于一个项目。要为多个项目定义相同的网络对等连接,请为每个项目创建自定义资源定义。

以下示例说明了 AtlasNetworkPeering CRD 的配置。

  • 基本示例配置定义了一个资源,您可以使用管理其父Atlas项目的同一Atlas Kubernetes Operator实例来管理该资源。

  • 独立 CRD示例配置与基本示例相同的VPC对等连接,但适用于您在管理VPC对等连接的Atlas Kubernetes Operator实例外部管理的Atlas项目。

以下示例显示一个 AtlasNetworkPeering 自定义资源,定义了 my-project 项目 VPC 和您的 AWS VPC 之间的 green-leaf-peering 连接。要在与其父 Atlas 项目相同的 Atlas Kubernetes Operator 实例中管理此资源,您必须使用 projectRef 而不是 externalProjectRef 来标识该项目。

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkPeering
metadata:
name: green-leaf-peering
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
containerRef:
id: 72a6d2a69388ba121943ae27
id: 72a6d2a69388ba121943ae27
provider: AWS
awsConfiguration:
accepterRegionName: us-east-1
awsAccountId: 389226183042
routeTableCiderBlock: 10.0.0.0/21
vpcId: vpc-abc

The following example shows an AtlasNetworkPeering independent CRD that configures the same VPC peering connection defined by the Basic Example. To enable resource management independent of the parent project, you must use an externalProjectRef instead of a projectRef, and you must supply a connectionSecret directly since this resource can't inherit API credentials from its parent project.

apiVersion: atlas.mongodb.com/v1
kind: AtlasNetworkPeering
metadata:
name: green-leaf-peering
spec:
externalProjectRef:
projectId: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
containerRef:
id: 72a6d2a69388ba121943ae27
id: 72a6d2a69388ba121943ae27
provider: AWS
awsConfiguration:
accepterRegionName: us-east-1
awsAccountId: 389226183042
routeTableCiderBlock: 10.0.0.0/21
vpcId: vpc-abc

本部分介绍此自定义资源定义中可用的 AtlasNetworkPeering 参数。

metadata.name

类型:字符串

必需

Name that the AtlasNetworkPeering Custom Resource uses to add this network peering connection to a project.

metadata.namespace

类型:字符串

Optional

要包含 atlasNetworkPeering 自定义资源的命名空间。如果未指定, Atlas Kubernetes Operator将使用 kubectl设立的当前命名空间。

spec.connectionSecret.name

类型:字符串

可选的

不透明密钥的名称,其中包含Atlas Kubernetes Operator用于连接到Atlas 的组织ID和API密钥。如果未指定, 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.containerRef.id

类型:字符串

可选的

如果此资源表示新的网络对等连接,则省略此参数。

现有网络对等互连容器的ID 。仅当您希望此资源管理Atlas Kubernetes Operator中的现有网络对等连接时才提供此字段。如果您希望此资源开始管理Kubernetes本地资源,请使用 spec.containerRef.name 参数。

spec.containerRef.name

类型:字符串

可选的

您使用项目命名空间中的Kubernetes本地资源管理的现有网络对等互连容器的名称。仅当您希望此资源管理Kubernetes本地资源时才提供此字段。如果您希望此资源开始管理已由Atlas Kubernetes Operator托管的网络对等连接,请使用 spec.containerRef.id 参数。如果此资源表示新的网络对等连接,则省略此字段。

spec.externalProjectRef.id

类型:字符串

可选的

网络对等连接所属项目的ID 。您必须指定现有Atlas项目的项目ID 。您必须为属于以下任一机构托管的项目的网络对等连接指定此参数:

  • Atlas Kubernetes Operator的不同实例

  • Atlas Kubernetes Operator以外的工具

对于属于同一Atlas Kubernetes Operator实例托管的项目的部署,请使用 spec.projectRef.name。这些参数是互斥的。

一个网络对等连接只能属于一个项目。要为多个项目定义相同的网络对等连接,请为每个项目创建自定义资源定义。

spec.projectRef.name

类型:字符串

可选的

网络对等连接所属项目的名称。您必须指定现有的 AtlasProject 自定义资源。此参数仅适用于属于同一实例Atlas Kubernetes Operator托管的项目的网络对等连接。

对于属于以下任一机构托管的项目的部署:

  • Atlas Kubernetes Operator的不同实例

  • Atlas Kubernetes Operator以外的工具

使用 spec.externalProjectRef.id。这些参数是互斥的。

一个网络对等连接只能属于一个项目。要为多个项目定义相同的网络对等连接,请为每个项目创建自定义资源定义。

spec.projectRef.namespace

类型:字符串

可选的

AtlasProject中指定的spec.projectRef.name 自定义资源所在的命名空间。

请勿为属于以下任一机构托管的项目的部署设立此参数:

  • Atlas Kubernetes Operator的不同实例

  • Atlas Kubernetes Operator以外的工具

spec.id

类型:字符串

可选的

Atlas中现有网络对等连接的唯一标识符。对于Atlas Kubernetes Operator负责管理预先存在的网络对等连接的场景,此参数是必需的,且仅限于此。

spec.provider

类型:字符串

必需

要与之建立VPC对等连接的云提供商。必须是以下之一:

  • AWS

  • Azure

  • GCP

spec.awsConfiguration.accepterRegionName

类型:字符串

可选的

要与其建立VPC对等连接的Amazon Web Services地区。对于Amazon Web Services连接是必需的且仅限于此。

spec.awsConfiguration.awsAccountId

类型:字符串

可选的

连接所属的Amazon Web Services帐户的唯一标识符。对于Amazon Web Services连接是必需的且仅限于此。

spec.awsConfiguration.routeTableCidrBlock

类型:字符串

可选的

Amazon Web Services VPC的 CIDR区块。对于Amazon Web Services连接是必需的且仅限于此。

spec.awsConfiguration.vpcId

类型:字符串

可选的

Amazon Web Services VPC的唯一标识符。对于Amazon Web Services连接是必需的且仅限于此。

spec.azureConfiguration.azureDirectoryId

类型:字符串

可选的

Azure目录的唯一标识符。对于Azure连接是必需的且仅限于此。

spec.azureConfiguration.azureSubscriptionId

类型:字符串

可选的

Azure订阅的唯一标识符。对于Azure连接是必需的且仅限于此。

spec.azureConfiguration.resourceGroupName

类型:字符串

可选的

连接所属的Azure资源组的名称。对于Azure连接是必需的且仅限于此。

spec.azureConfiguration.vNetName

类型:字符串

可选的

Azure虚拟网络的名称。对于Azure连接是必需的且仅限于此。

spec.gcpConfiguration.gcpProjectId

类型:字符串

可选的

Google Cloud Platform Google项目的名称。 对于Google Cloud Platform连接是必需的且仅限于此。

spec.gcpConfiguration.networkName

类型:字符串

可选的

Google Cloud Platform网络的名称。 对于Google Cloud Platform连接是必需的且仅限于此。