Назад | Перейти на главную страницу

Присоединение к контейнеру Kubernetes (для Asterisk) в GKE приводит к бесконечному циклу присоединения / отсоединения

Мне удалось развернуть Asterisk в Google Container Engine (GKE) в настоящее время до такой степени, что можно зарегистрировать программный телефон VoIP. Теперь я хочу прикрепить к контейнеру Asterisk.

kubectl attach -it <pod-id>

однако приводит к быстрому повторению командной строки Asterisk CLI (*CLI> *CLI> *CLI ...) без возможности ввести что-либо. Похоже, что происходит бесконечный цикл присоединения / отсоединения. Как я могу разрешить эту ситуацию, чтобы получить чистый доступ к CLI (с одним *CLI> Подсказка)?

ОБНОВИТЬ Такие же повторы случаются при попытке прикрепления в два этапа:

gcloud compute ssh <instance-id>
<instance># sudo docker attach <image-id>

Цикл подсказок характерен для программы, которая читает из /dev/null в уверенности, что это tty. Документация Kubernetes для stdin поле в v1.Container об этом предупреждает:

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

Кстати, -t флаг для kubectl attach не меняет, имеет контейнер tty или нет. За исключением сообщений об ошибках в некоторых случаях, это не работает.

Кажется очевидным, что, поскольку kubectl describe признается вам, контейнер звездочки запускается без stdin и tty. Для этого нет открытой ошибки. Если нет опечатки (или вы используете rktnetes), вы можете подумать об открытии одной для этого.