Команда port-foward для доступа к postgres извне AKS не работает в kubectl из-за амперсанда - PullRequest
1 голос
/ 01 июня 2019

Я пытаюсь развернуть PostgreSQL на AKS из следующей диаграммы Bitnami: https://github.com/bitnami/charts/tree/master/upstreamed/postgresql/#installing-the-chart

Во время развертывания мне было предложено использовать следующую команду (после установки), чтобы убедиться, что я смогудоступ к postgres вне кластера (например, в некоторых локальных СУБД)

kubectl port-forward --namespace default svc/dozing-coral-postgresql 5432:5432 & PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -p 5432

Это приводит к синтаксической ошибке:

At line:1 char:80
+ ... d --namespace default svc/dozing-coral-postgresql 5432:5432 & PGPASSW 
...
+                                                                 ~
The ampersand (&) character is not allowed. The & operator is reserved for 
future use; wrap an ampersand in double quotation marks ("&") to pass it as 
part of a string.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : AmpersandNotAllowed

Какая будет правильная команда для разблокировки портов?

1 Ответ

2 голосов
/ 03 июня 2019

Вывод, который вы должны увидеть, выглядит как

To connect to your database from outside the cluster execute the following commands:

    kubectl port-forward --namespace default svc/jolly-raccoon-postgresql 5432:5432 &
    PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -p 5432

Есть две разные команды. Первый - переадресация портов, а последний & - отправка этой команды в фоновый режим, чтобы вы могли продолжить использовать оболочку

.
$ kubectl port-forward --namespace default svc/jolly-raccoon-postgresql 5432:5432 &
[1] 62447
Forwarding from 127.0.0.1:5432 -> 5432

Вторая команда позволяет вам подключиться к базе данных, используя перенаправленный порт с другого хоста, на котором вы установили psql клиент

$ PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -p 5432
psql (11.3)
Type "help" for help.

postgres=#
...