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

AtlasIPAccessList 自定义资源

在此页面上

  • 示例
  • 基本示例
  • 独立 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 Operator2 0之前使用的默认行为,请参阅新的默认值: Atlas Kubernetes Operator2 中的删除保护。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项目IP访问列表API资源执行以下操作之一:

  • 创建新的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"

以下示例显示了一个独立于AtlasIPAccessList 的 CRD,它允许从基本示例允许的相同 CIDR区块和IP解决进行访问权限。此自定义资源定义允许您在定义此资源的Atlas Kubernetes Operator实例之外管理的项目中创建IP访问列表。 要启用独立操作,必须使用 externalProjectRef 而不是 projectRef,并且必须直接提供 connectionSecret,因为此资源无法从其父项目继承API凭证。

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

类型:字符串

必需

AtlasIPAccessList自定义资源用于将此IP访问列表添加到项目的名称。

metadata.namespace

类型:字符串

Optional

要包含 atlasIPAccessList 自定义资源的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.entries

类型:数组

必需

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

spec.entries.[n].awsSecurityGroup

类型:字符串

可选的

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

spec.entries 中的每个条目必须且只能具有 awsSecurityGroupcidrBlockipAddress 之一。

spec.entries.[n].cidrBlock

类型:字符串

可选的

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

spec.entries 中的每个条目必须且只能具有 awsSecurityGroupcidrBlockipAddress 之一。

spec.entries.[n].comment

类型:字符串

Optional

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

spec.entries.[n].deleteAfterDate

类型:字符串

Optional

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

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

spec.entries.[n].ipAddress

类型:字符串

Optional

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

spec.entries 中的每个条目必须且只能具有 awsSecurityGroupcidrBlockipAddress 之一。

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以外的工具

后退

AtlasBackupCompliancePolicy