如何通过kubectl连接运行在私有PVC上的AWS RDS数据库实例



我试图通过

远程访问运行在私有PVC上的AWS RDS数据库实例

kubectl左前

将RDS数据库的公共可访问性设置为"no",并且我有一个运行在相同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 client 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直接连接,而无需创建外部服务。

相关内容