如何通过 kubectl 在私有 PVC 上连接 AWS RDS 数据库实例 运行
How to connect an AWS RDS Database instance running on private PVC through kubectl
我正在尝试通过
远程访问私有 PVC 上的 AWS RDS 数据库实例运行
kubectl port-forward
RDS 数据库 public 可访问性设置为“否”,我在同一个 RDS PVC 上还有一个 EKS 集群 运行,pods 和 EKS 的服务都可以与 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 直接连接,而无需创建外部服务。
我正在尝试通过
远程访问私有 PVC 上的 AWS RDS 数据库实例运行kubectl port-forward
RDS 数据库 public 可访问性设置为“否”,我在同一个 RDS PVC 上还有一个 EKS 集群 运行,pods 和 EKS 的服务都可以与 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 直接连接,而无需创建外部服务。