Docs 菜单
Docs 主页
/ /
MongoDB Atlas Kubernetes Operator
/

AtlasNetworkPeering 自定义资源

在此页面上

  • 示例
  • 基本示例
  • 独立 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使用Atlas 网络对等互连API资源执行以下操作之一:

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

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

注意

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

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

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

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

以下示例显示了一个 AtlasNetworkPeering 自定义资源,该资源定义了 my-project项目VPC和您的Amazon Web Services 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

以下示例显示了一个独立于AtlasNetworkPeering 的 CRD,它配置了基本示例中定义的相同VPC对等连接。要启用独立于父项目的资源管理,必须使用 externalProjectRef 而不是 projectRef,并且必须直接提供 connectionSecret,因为此资源无法从其父项目继承API凭证。

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

类型:字符串

必需

AtlasNetworkPeering 自定义资源用于将此网络对等连接添加到项目的名称。

metadata.namespace

类型:字符串

Optional

要包含 AtlasNetworkPeering 自定义资源的default 以外的命名空间。

spec.connectionSecret.name

类型:字符串

可选的

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

后退

Atlas Data Federation