MongoDB工具 >MongoDB Atlas开放服务代理 > 安装
在本页面
注意
本教程假定您具有一定的Kubernetes知识,但会尽可能链接到相关的Kubernetes文档。如果您不熟悉Kubernetes,请先阅读Kubernetes文档。
要安装Atlas Open Service Broker,您必须:
有一个可用的Kubernetes解决方案。
如果您需要Kubernetes解决方案,请参阅Kubernetes 文档以选择正确的解决方案。
安装Kubernetes 服务目录。
安装Kubernetes 服务目录CLI。
创建Atlas Open Service Broker的实例时,需要向Kubernetes注册它为集群范围内clusterServiceBroker
或命名空间范围内serviceBroker
。
有关集群范围的代理和命名空间范围的代理的用例的更多信息,请参见Kubernetes Service Catalog文档。
ClusterServiceBroker
¶注册为的Atlas Open Service Broker实例ClusterServiceBroker
可用于整个Kubernetes集群。部署Atlas副本集或分片群集时,必须使用关联的
clusterServiceClass
和clusterServicePlan
资源。
ServiceBroker
¶注册为的Atlas Open Service Broker实例ServiceBroker
仅可用于Kubernetes集群中的单个名称空间。部署Atlas副本集或分片群集时,必须使用
serviceClass
和servicePlan
资源范围为同一名称空间。
要在Kubernetes中部署Atlas Open Service Broker,请使用以下过程。
Deployment
和Service
资源定义。¶复制以下资源定义示例。
这是一个YAML文件,您可以对其进行修改以符合所需的配置。它同时包含Deployment
和Service
规范。
注意
该示例使用atlas-service-broker
了部署名称,服务名称和pod标签。只要您在资源之间保持一致,就可以使用其他值更新这些字段。
打开首选的文本编辑器,然后将资源定义粘贴到新的文本文件中。
确认或编辑Atlas Open Service Broker服务器侦听的容器端口。
资源资源 | 环境变量 | 描述 | 默认 |
---|---|---|---|
Deployment |
spec.template.spec .containers.ports.containerPort |
Atlas Open Service Broker服务器侦听的端口。 必须匹配的值 |
4000 |
Service |
spec.ports.targetPort |
Atlas Open Service Broker服务器侦听的端口。 必须匹配的值 |
4000 |
将文件另存为deployment-and-service.yaml
。
为了使Atlas Open Service Broker 在Atlas项目中创建或更新对象,您需要将您的Programmatic API密钥和项目ID存储为Kubernetes 机密。
同一名称空间中可以存在多个秘密。
创建您的Kubernetes机密:
确保您具有以下条件:
您所需的Atlas编程API密钥的公共和私有密钥。
如果您没有Programmatic API Key,请生成一个新的 Programmatic API Key。
您的Atlas项目的项目ID。
复制以下资源定义示例。
这是一个YAML,您可以修改它以满足所需的配置。
编辑以下字段:
栏位名称 | 描述 |
---|---|
stringData.username |
您的Atlas公钥,后跟@ 和您的项目ID。 |
stringData.password |
您的Atlas私钥。 |
在username
与password
被用于针对册开放Service Broker的基本身份验证。
例
将文件另存为secret.yaml
。
调用以下Kubernetes命令创建您的密码:
该-n
标志限制了此机密适用的名称空间。
调用以下Kubernetes命令以验证您的机密:
此命令在shell中返回一个秘密描述:
复制以下资源定义示例。
这是一个YAML文件,您可以对其进行修改以符合所需的配置。
编辑以下字段:
栏位名称 | 描述 | ||||
---|---|---|---|---|---|
kind |
该值确定Atlas Open Service Broker是否可用于整个Kubernetes集群或仅可用于Kubernetes集群中的单个名称空间。有关服务代理资源的更多信息,请参阅《服务目录》文档。 可能的值为:
|
||||
spec.url |
代理的URL,格式为
例 |
||||
spec.authInfo .basic.secretRef.name |
您在上一步中创建的Kubernetes机密的名称。 | ||||
spec.authInfo .basic.secretRef.namespace |
您的名称空间。 |
将文件另存为service-broker.yaml
。
该命令返回代理的状态。如果未显示代理的状态,请稍等片刻,然后再次调用该命令。
例
以下示例显示了定义为的代理的状态ClusterServiceBroker
。因为此代理是在群集级别部署的,所以没有名称空间。
如果您的代理的状态不是Ready
,则将metadata.name
from 传递
service-broker.yaml
给以下命令以查看详细的错误消息: