MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs 菜单
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使用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 是 AtlasNetworkPeering API的模式

Name
类型
说明
必需

apiVersion

字符串

atlas.mongodb.com/v1

true

kind

字符串

AtlasNetworkPeering

true

metadata

对象

有关 metadata字段的字段,请参阅Kubernetes API 文档。

true

spec

对象

AtlasNetworkPeeringSpec 定义了AtlasNetworkPeering 的目标状态。验证:

  • (has(self.``externalProjectRef``) && !has(self.``projectRef``)) || (!has(self.``externalProjectRef``) && has(self.``projectRef``)):必须通过 externalProjectRefprojectRef 仅定义一个项目引用

  • (has(self.``externalProjectRef``) && has(self.``connectionSecret``)) || !has(self.``externalProjectRef``):引用外部项目时必须定义本地连接密钥

  • (has(self.``containerRef``.name) && !has(self.``containerRef``.id)) || (!has(self.``containerRef``.name) && has(self.``containerRef``.id)): 必须具有容器Atlas ID 或Kubernetes名称,但不能同时具有两者(或两者都不是)

  • (self.``containerRef``.name == oldSelf.``containerRef``.name) || (!has(self.``containerRef``.name) && !has(oldSelf.``containerRef``.name)):容器引用名称不可变

  • (self.``containerRef``.id == oldSelf.``containerRef``.id) || (!has(self.``containerRef``.id) && !has(oldSelf.``containerRef``.id)):容器引用 id 不可变

  • (self.id == oldSelf.id) || (!has(self.id) && !has(oldSelf.id)):id 不可变

false

status

对象

AtlasNetworkPeeringStatusAtlasNetworkPeering 自定义资源的 status。不是包含在 AtlasProject

false

AtlasNetworkPeeringSpec 定义了 AtlasNetworkPeering 的目标状态。

Name
类型
说明
必需

containerRef

对象

ContainerDualReference 通过Kubernetes名称或Atlas ID 指代网络容器。

true

provider

枚举

要为其创建网络对等互连服务的云服务provider 的名称。枚举: AWSGCPAZURE

true

awsConfiguration

对象

AWSConfiguration 是网络对等互连的特定 AWS 设置。

false

azureConfiguration

对象

AzureConfiguration 是针对网络对等互连的特定Azure设置。

false

connectionSecret

对象

包含Atlas API 私钥和公钥的密钥名称。

false

externalProjectRef

对象

externalProjectRef 包含父Atlas项目ID。与“projectRef”字段互斥。

false

gcpConfiguration

对象

GCPConfiguration 是针对网络对等互连的特定 Google Cloud 设置。

false

id

字符串

ID 是由操作符托管的已存在网络对等互连的对等互连标识符。该字段不可变。

false

projectRef

对象

projectRef 是对父 AtlasProject资源的引用。与“externalProjectRef”字段互斥。

false

ContainerDualReference 通过Kubernetes名称或Atlas ID指代网络容器。

Name
类型
说明
必需

id

字符串

ID 是此对等互连连接所依赖的网络容器Atlas资源的Atlas标识符。使用名称或 ID,但不能同时使用。

false

name

字符串

容器Kubernetes资源的名称,必须存在于同一命名空间中。使用 nameID,但不能同时使用。

false

AWSConfiguration 是网络对等互连的特定 AWS 设置。

Name
类型
说明
必需

accepterRegionName

字符串

AccepterRegionName 是用户 vPC 的提供商地区名称,采用 AWS原生地区格式。

true

awsAccountId

字符串

AccountID 用户的 vpc。

true

routeTableCidrBlock

字符串

用户 VPC CIDR

true

vpcId

字符串

AWS VPC ID.

true

AzureConfiguration 是网络对等互连的特定Azure设置。

Name
类型
说明
必需

azureDirectoryId

字符串

AzureDirectoryID 是Azure AD目录的唯一标识符。

true

azureSubscriptionId

字符串

AzureSubscriptionID 是 VNet 所在Azure订阅的唯一标识符。

true

resourceGroupName

字符串

ResourceGroupName 是Azure资源群组的名称。

true

vNetName

字符串

VNetName 是Azure VNet 的名称。它仅适用于Azure。

true

包含Atlas API私钥和公钥的密钥名称。

externalProjectRef 保存父Atlas项目ID。与 "projectRef"字段互斥。

Name
类型
说明
必需

id

字符串

ID 是Atlas项目ID

true

GCPConfiguration 是针对网络对等互连的特定 Google Cloud 设置。

Name
类型
说明
必需

gcpProjectId

字符串

用户 GCP 项目 ID。它仅适用于 GCP

true

networkName

字符串

GCP 网络对等名称。它仅适用于 GCP

true

projectRef 是对父 AtlasProject资源的引用。与 "externalProjectRef"字段互斥。

Name
类型
说明
必需

name

字符串

Kubernetes资源名称

true

namespace

字符串

Kubernetes资源的命名空间

false

AtlasNetworkPeeringStatus 是 AtlasNetworkPeering 自定义资源的状态。不是 AtlasProject 中包含的

Name
类型
说明
必需

conditions

[]对象

条件是显示Atlas自定义资源当前状态的状态列表

true

awsStatus

对象

AWSStatus 仅包含 AWS 相关状态信息

false

azureStatus

对象

AzureStatus 包含仅与Azure相关的状态信息

false

gcpStatus

对象

GCPStatus 仅包含 GCP 相关状态信息

false

id

字符串

ID 记录Atlas创建的对等方的标识

false

observedGeneration

整型

ObservedGeneration 表示Atlas Operator 感知的资源规范的生成。 Atlas Operator 在开始资源协调后立即将该字段更新为“元数据生成”的值。格式:int64

false

status

字符串

状态描述了网络对等互连设置的最后 status

false

条件描述了Atlas自定义资源在某一点的状态。

Name
类型
说明
必需

status

字符串

条件的状态; True、False、未知之一。

true

type

字符串

Atlas自定义资源条件的类型。

true

lastTransitionTime

字符串

上次条件从一种状态转换为另一种状态的时间。以ISO8601 格式表示。格式:日期-时间

false

message

字符串

提供有关转换的详细信息的 message

false

reason

字符串

条件的最后一次转换的 reason

false

AWSStatus 包含仅与 AWS 相关的状态信息

Name
类型
说明
必需

connectionId

字符串

ConnectionIDAWSVPC 对等连接 ID

false

vpcId

字符串

VpcID 在Atlas端为 AWS VPC id

false

AzureStatus 包含仅与Azure相关的状态信息

Name
类型
说明
必需

azureSubscriptionIDpcId

字符串

AzureSubscriptionID 是Atlas端的Azure订阅 ID

false

vNetName

字符串

VnetName 是Atlas端的Azure网络

false

GCPStatus 包含仅与GCP相关的状态信息

Name
类型
说明
必需

gcpProjectID

字符串

GCPProjectID 是Atlas端的 GCP项目

false

networkName

字符串

NetworkName 是Atlas端的 GCP 网络

false

后退

AtlasNetworkContainer

在此页面上