kubernetes - 来自 K8s pod 的数据库连接问题
问题描述
我已成功将 Spring-Boot-API 的 pod 和服务部署到AWS-Kubernetes-Cluster (EKS)。
该应用程序连接到MySQL RDS。RDS 和 EKS 位于不同的 VPC中。我配置了对等连接以及 VPC 中的路由。
该数据库是公共的,我可以从本地环境进行连接。
对于集群,我在部署 YAML 中配置了环境变量,并使用 config-map(用户和密码的秘密)注入它们
当 pod 启动时,我收到以下错误:
java.sql.SQLException: Access denied for user 'admin'@'172.31.35.70' (using password: YES)
我猜这是一个网络问题,因为用户名已正确解析!
解决方案
第 1 条规则永远不会公开您的数据库。如果您查看日志,黑客现在可能正在暴力破解它。
您收到 AccessDenied 的事实表明网络是正确的,但您提供的密码有问题。
我将在与 k8s pod 相同的子网中创建一个堡垒,并使用用户名和密码从那里连接到数据库。
推荐阅读
- javascript - 离线时停止监听 AngularFireAuth
- python-3.x - 我可以在这里应用矢量化吗?还是我应该换个角度思考这个问题?
- python - 使用python的动态网页爬虫
- java - 在这种情况下,为什么编译器不能解析实例方法的符号?
- c# - 具有两个执行不同操作的获取的 Web api
- c++ - 如何使用类模板返回和显示多个值?
- ios - Swift - 覆盖 UIViewController(模态)中的存在和关闭,以便在每次呈现或关闭视图控制器时运行一些命令?
- python - xlsxwriter 条件格式数据栏选项不起作用
- c# - 使用 Blazor 处理数据注释
- sql - 如何在 postgresql 的所有可能选项中获取随机行