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

生产说明

在此页面上

  • Atlas 帐户
  • API 密钥
  • namespaces
  • Amazon Web Services 安全群组
  • 已弃用的配置参数
  • 集群创建
  • 连接字符串(Connection Strings)
  • 连接信息
  • 支持的部署标志

您可以访问 GitHub 上的 Atlas Kubernetes Operator 项目:

  • https://github.com/mongodb/mongodb-atlas-kubernetes

在部署 Atlas Kubernetes Operator 之前,您必须创建一个 Atlas 帐户。 要了解更多信息,请参阅注册新的 Atlas 帐户。

您需要以下公共 API 密钥、私有 API 密钥和组织 ID 信息, 配置 Atlas Kubernetes Operator 对 Atlas 的访问权限。

  • 如果您希望Atlas Kubernetes Operator创建新的Atlas项目,请为组织授予编程访问权限。如果您的组织需要Atlas Administration API的IP访问列表,您还必须配置API访问权限列表。

    重要

    您必须为 API 密钥分配 Organization Project Creator组织角色或更高级别的角色。

  • 如果要使用现有Atlas项目,请从项目添加项目访问权限。如果您的组织需要Atlas Administration API的IP访问列表,您还必须配置API访问权限列表。

    重要

    您必须为 API 密钥分配 Project Owner 项目角色。

要学习;了解详情,请参阅配置对Atlas的访问权限。

您可以部署 Atlas Kubernetes Operator 来监控所有 命名空间 在 Kubernetes 集群中,或仅在其 命名空间 中 。

您必须先为项目配置VPC对等互连,然后才能将 Amazon Web Services安全群组添加到访问列表。 您无法将Amazon Web Services安全群组设置为临时访问列表条目。

以下参数在 Atlas API中已弃用,Atlas Kubernetes Operator 不支持这些参数:

  • replicationSpec

  • replicationFactor

创建新集群最多可能需要 10 分钟。

您不能直接使用连接 URL。 Atlas 集群需要身份验证。 您必须创建至少一个AtlasDatabaseUser自定义资源,Kubernetes 集群中的应用程序才能连接到 Atlas 集群。 Atlas Kubernetes Operator 创建一个特殊 密钥 项目中的每个集群和数据库用户组合。Kubernetes 集群中的应用程序可以使用此 密钥 连接到 Atlas 集群。AtlasDatabaseUser自定义资源中的spec.scopes参数限制创建数据库用户的集群。

要连接到 Atlas Administration API,Atlas Kubernetes Operator 从以下位置之一读取组织 ID 和API密钥:

为了在 Atlas 中创建或更新资源,Atlas Kubernetes Operator 使用连接信息对 Atlas 进行API调用。

注意

有时,在协调自定义资源期间,Atlas Kubernetes Operator 会在 Atlas 中进行多个API调用。 例如,AtlasProject 具有用于调用匹配 API 的 IP 访问列表 配置。

如果在协调过程中出现任何错误, status.conditions会进行更新以反映错误。

例子

- lastTransitionTime: "2021-03-15T14:26:44Z"
message: 'POST https://cloud.mongodb.com/api/atlas/v1.0/groups/604a47de73cd8cag77239021/accessList:
400 (request "INVALID_IP_ADDRESS_OR_CIDR_NOTATION") The address 192.0.2.1dfdfd5
must be in valid IP address or CIDR notation.'
reason: ProjectIPAccessListNotCreatedInAtlas
status: "False"
type: IPAccessListReady

当您部署. Atlas Kubernetes Operator 使用kubectl ,您可以添加以下标志来自定义配置:

标记
说明
默认值

atlas-domain

Atlas URL 域名,以斜线结尾。

https://cloud.mongodb.com/

metrics-bind-address

指标端点绑定的地址。

:8080

health-probe-bind-address

探针端点绑定的地址。

:8081

global-api-secret-name

包含 Atlas API 密钥的密钥名称。 如果您的AtlasProject配置不包含 API 密钥引用,Atlas Kubernetes Operator 会使用此参数。

<deployment_name>-api-key,其中<deployment-name>是Atlas Kubernetes Operator部署的名称。

leader-elect

指示是否为控制器经理启用领导者选举的标志。领导者选举可确保一次只有一个控制经理处于活动状态。

false

log-level

日志条目的重要性或紧急程度。 您可以指定以下级别之一:

  • debug

  • info

  • warn

  • error

  • dpanic

  • panic

  • fatal

info

log-encoder

日志记录的格式。 您可以指定以下格式之一:

  • json

  • console

json

例子

以下命令设置 Atlas Kubernetes Operator 1.8.2 部署,在端口:8084上使用指标端点,日志级别为error

kubectl apply --metrics-bind-address :8084 \
--log-level error \
-f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/1.8.2/deploy/all-in-one.yaml

后退

AtlasFederatedAuth