我刚刚在AWS EKS上部署了一个带有Postgres的docker。
以下是详细说明。
如果postgres正在工作,我如何访问或测试。我尝试从工作人员的VPC中访问两个IP帖子…
简而言之,您需要运行以下命令以在55432端口上公开您的数据库。
kubectl expose deployment postgres --port=55432 --target-port=5432 --name internal-postgresql-svc
从现在开始,您可以使用服务名称作为主机名,或通过其ClusterIP地址,从群集内部通过端口55432连接到它:
kubectl get internal-postgresql-svc
你在部署清单文件中做了什么,你只是附加了一个容器使用的网络连接的附加信息,误导之间,因为你的容器只暴露5432端口(你可以自己验证它) 这里 )。 你应该使用Kubernetes 服务 - 抽象,可以访问您的POD,并在场景后面进行必要的端口映射。 请检查 不同 port类型,如果要在Kubernetes集群之外公开postgresql数据库。
要测试POD容器内的进度是否正常运行:
kubectl run postgresql-postgresql-client --rm --tty -i --restart='Never' --namespace default --image bitnami/postgresql --env="PGPASSWORD=<HERE_YOUR_PASSWORD>" --command -- psql --host <HERE_HOSTNAME=SVC_OR_IP> -U <HERE_USERNAME>