Короче говоря, вам нужно выполнить следующую команду, чтобы выставить базу данных на порт 55432.
kubectl expose deployment postgres --port=55432 --target-port=5432 --name internal-postgresql-svc
Теперь вы можете подключиться к ней через порт 55432 изнутри вашего кластера с помощью службыимя в качестве имени хоста или через его адрес ClusterIP:
kubectl get internal-postgresql-svc
Что вы сделали в своем файле манифеста развертывания, вы только что приложили дополнительную информацию о сетевых подключениях, которые контейнер использует, в заблуждение, потому что ваш контейнер предоставляет 5432только порт (вы можете проверить это самостоятельно здесь ).
Вы должны использовать Kubernetes Service - абстракцию, которая разрешает доступ к вашим POD и выполняет необходимое сопоставление портов за сценой.
Пожалуйста, проверьте также разные типы портов, если вы хотите предоставить свою базу данных postgresql за пределами кластера Kubernetes.
Чтобы проверить, работает ли прогресс в контейнере 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>