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.namefrom 传递
service-broker.yaml给以下命令以查看详细的错误消息: