google-kubernetes-engine - 使用 mongosh 从 kubernetes pod 测试 mongo Atlas 连接
问题描述
我正在尝试将 GKE pod 连接到 mongodb Atlas。
我在 Atlas 和 GCP VPC 网络之间设置并激活了 VPC 对等网络连接,但我无法在 gcloud 终端或 GKE pod 上配置 mongosh 来测试我的连接。
我该怎么做呢?完全卡住了!
解决方案
要在 Cloud Shell 中安装 mongosh,您首先需要使用命令找出正在运行的操作系统lsb_release -dc
;对于这个例子,运行的操作系统是“Debian GNU/Linux 10 (buster)”。在这里,您可以找到有关如何在不同操作系统上安装 mongodb [1] 的文档。
这些是在 Debian 系统上安装 mongosh 社区版的步骤:
- 使用命令导入公钥
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
- 为 mongodb 包创建一个列表文件:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
- 重新加载本地包数据库:
sudo apt-get update
- 安装 mongosh:
sudo apt-get install -y mongodb-mongosh
现在,对于在 GKE pod 上的安装,您有几个选择;首先,使用命令在正在运行的 pod 中打开一个 bash 命令 shell,kubectl exec -it pod-name -- /bin/bash
然后使用提供的步骤从那里安装 mongosh(这些步骤可能因 pod 映像所基于的操作系统而异)。第二个选项是在您的 pod [2] 中运行一个 mongodb docker 映像,该映像已经加载了运行 mongodb 所需的所有依赖项,包括 mongosh,在这种情况下,您只需要在您的 pod 中打开一个 bash 命令 shell 并测试。
推荐阅读
- python - Python - 以所需格式转置数据
- c# - 使用容器 url 上传文件 azure blob 存储
- docker - 如何记录对弹性搜索容器的所有查询?
- azure - B2C 发布范围 - “未提供标识符 URI”
- java - 将各种特定异常与一个通用的包罗万象的异常一起捕获是一种好习惯吗?
- swift - 如何在 Swift 中设置约束的优先级?
- docker - 来自 docker-on-windows 的 tar utime 不起作用
- angular - ngx-toastr ToastrService.show() 类型参数 Angular 2 +
- excel - 根据两个条件查找单元格范围
- java - AlarmManager 重置显示错误系统服务在 onCreate() 之前对活动不可用