我正在尝试通过以下方式远程访问在私有(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/