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

AtlasIPAccessList 自定义资源

重要

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

AtlasIPAccessList 自定义资源为Atlas项目配置IP访问列表。IP访问列表允许您使用最低访问权限策略来保护项目。

重要

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

  • 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 Project IP Access List API Resource:

  • 创建新的IP访问列表。

  • 替换现有的IP访问列表。

以下示例显示了一个 AtlasIPAccessList 自定义资源,该资源允许从以下来源访问权限my-project项目:

10.0.0.1 的访问权限将在 2025 3 月 31 日后过期。

apiVersion: atlas.mongodb.com/v1
kind: AtlasIPAccessList
metadata:
name: atlasipaccesslist-sample
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
entries:
- cidrBlock: 192.168.1.0/24
- ipAddress: 10.0.0.1
deleteAfterDate: 2025-03-31T23:59:59+02:00
- awsSecurityGroup: sg-1234
comment: "AWS Access to my network peering"

The following example shows an AtlasIPAccessList independent CRD that permits access from the same CIDR block and IP address permitted by the Basic Example. This custom resource definition allows you to create an IP access list in a project you manage outside the instance of Atlas Kubernetes Operator with which you define this resource. To enable independent operation, 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: AtlasIPAccessList
metadata:
name: atlasipaccesslist-sample
spec:
externalProjectRef:
projectId: 66e2f2b621571b7e69a89b66
connectionSecret:
name: atlas-connection-secret
entries:
- cidrBlock: 192.168.1.0/24
- ipAddress: 10.0.0.1
deleteAfterDate: 2025-03-31T23:59:59+02:00
- awsSecurityGroup: sg-1234
comment: "AWS Access to my network peering"

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

metadata.name

类型:字符串

必需

Name that the AtlasIPAccessList Custom Resource uses to add this IP access list to a project.

metadata.namespace

类型:字符串

Optional

要包含 atlasIPAccessList 自定义资源的命名空间。如果未指定, 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.entries

类型:数组

必需

允许访问权限项目的连接源集。

spec.entries.[n].awsSecurityGroup

类型:字符串

可选的

Amazon Web Services安全群组的唯一标识符,从中授予对项目的访问权限。

spec.entries 中的每个条目必须且只能具有 awsSecurityGroup、cidrBlock 或 ipAddress 之一。

spec.entries.[n].cidrBlock

类型:字符串

可选的

以 CIDR区块表示法表示的IP地址范围,从中授予对项目的访问权限。

spec.entries 中的每个条目必须且只能具有 awsSecurityGroup、cidrBlock 或 ipAddress 之一。

spec.entries.[n].comment

类型:字符串

Optional

与此访问权限列表条目关联的注释。

spec.entries.[n].deleteAfterDate

类型:字符串

Optional

Atlas删除临时访问权限列表条目的日期和时间。

要创建永久访问权限列表条目,请省略此参数。

spec.entries.[n].ipAddress

类型:字符串

Optional

用于授予对项目访问权限权限的单个IP解决。

spec.entries 中的每个条目必须且只能具有 awsSecurityGroup、cidrBlock 或 ipAddress 之一。

spec.externalProjectRef.id

类型:字符串

可选的

IP访问列表所属项目的ID 。 您必须指定现有Atlas项目的项目ID 。对于属于以下任一机构托管的项目的IP访问权限列表,需要此参数:

  • Atlas Kubernetes Operator的不同实例

  • Atlas Kubernetes Operator以外的工具

对于属于同一Atlas Kubernetes Operator实例托管的项目的部署,如果您不使用 spec.externalProjectRef.id,请使用 spec.projectRef.name。

一个IP访问列表只能属于一个项目。 要为多个项目定义相同的IP访问列表,请为每个项目创建自定义资源定义。

spec.projectRef.name

类型:字符串

可选的

IP访问列表所属项目的名称。 您必须指定现有的AtlasProject 自定义资源。此参数仅适用于属于由同一实例Atlas Kubernetes Operator托管的项目的IP访问权限列表。

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

  • Atlas Kubernetes Operator的不同实例

  • Atlas Kubernetes Operator以外的工具

使用 spec.externalProjectRef.id 。

一个IP访问列表只能属于一个项目。 要为多个项目定义相同的IP访问列表,请为每个项目创建自定义资源定义。

spec.projectRef.namespace

类型:字符串

可选的

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

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

  • Atlas Kubernetes Operator的不同实例

  • Atlas Kubernetes Operator以外的工具