amazon-web-services - 如何通过 kubectl 连接在私有(private) PVC 上运行的 AWS RDS 数据库实例

标签 amazon-web-services kubernetes amazon-rds amazon-eks

我正在尝试通过以下方式远程访问在私有(private) PVC 上运行的 AWS RDS 数据库实例

kubectl port-forward

RDS 数据库公共(public)可访问性设置为“否”,而且我有一个在同一 RDS PVC 上运行的 EKS 集群,EKS 的 Pod 和服务能够与 AWS RDS 通信。

到目前为止我已经创建了以下服务

kind: Service
metadata:
  name: postgres-service
spec:
  type: ExternalName
  externalName: xxx-xxx.xxxxxxx.eu-xx-1.rds.amazonaws.com

下面是我执行的 kubectl 命令

kubectl  run -it --rm --image=postgres postgres-client  -- postgres-service --host=xx-xx.xx.eu-west-1.rds.amazonaws.com  --port=5432 --username=xxx --password=xxx --dbname=xxx

我得到的结果是

error: timed out waiting for the condition

最佳答案

如果您不想使用 kubectl,您可以在 EKS 集群中全职使用 postgress 客户端 pod 设置。

或者你可以运行这样的命令:

kubectl run postgresql-client --rm --tty -i --restart='Never' --namespace default --image bitnami/postgresql --env="PGPASSWORD=<YOUR_PASSWORD>" --command -- psql --host <YOUR_HOSTNAME=SVC_NAME_OR_IP> -U <HERE_USERNAME> 

确保您使用正确的命名空间名称和服务名称。

两者位于同一 VPC 中,这意味着您可以通过内部地址或 IP 直接连接,而无需创建外部服务。

关于amazon-web-services - 如何通过 kubectl 连接在私有(private) PVC 上运行的 AWS RDS 数据库实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65806165/

相关文章:

postgresql - 使用Helm 3在Kubernetes上安装PostgreSQL

kubernetes - Helm 机重置:错误:OWNER%!D(MISSING)TILLER:调用TCP 10.96.0.1:443:I/O超时

sql - 将图像处理到数据库中的最佳方式

mysql - 使用 Terraform 创建 AWS MySQL RDS 实例时出错

mysql - 同时处理数百个 RDS mysql 数据库

ios - Cordova/Phonegap 文件传输 iOS 错误 1

amazon-web-services - 如何获取具有特定模式的 aws 存储桶上的文件列表

charts - 如何从子图表获取基本chart.yaml版本

python - 使用 python 的 sigv4-post-example

wordpress - 如何在 AWS EC2 Wordpress 服务器上安装 SSL 证书?