Перенаправление локального хоста с помощью Cloud Shell и Kubernetes

Я новичок в Kubernetes и пытаюсь обеспечить безопасную работу CockroachDB. Я использую инструкции и предварительно настроенные файлы .yaml, предоставленные Cockroach. https://www.cockroachlabs.com/docs/stable/orchestrate-cockroachdb-with-kubernetes.html.

Я использую Cloud Shell в своей консоли Google Cloud, чтобы все настроить. Все идет хорошо, я могу выполнять локальные тесты SQL и загружать данные. Мониторинг кластера путем проксирования на localhost, при этом команда ниже начинает работать, как ожидалось.

kubectl port-forward cockroachdb-0 8080

Однако при использовании веб-превью облачной оболочки на порту 8080 для подключения к localhost сеанс браузера возвращает «слишком много перенаправлений».

Моей следующей задачей будет выяснить, как выставить кластер на публичный адрес, но пока я застрял на том, что кажется довольно простой проблемой. Любой совет будет очень признателен.


person bruce    schedule 06.02.2018    source источник
comment
Кажется, я вообще не могу использовать переадресацию портов из облачной оболочки, но если я сделаю это локально, все будет нормально. Это решение для вас - установить kubernetes и gcloud cli локально?   -  person Dries De Rydt    schedule 06.02.2018
comment
Я, вероятно, мог бы что-то сделать с виртуальной машиной, но я использую Chromebook и предпочитаю использовать облачную оболочку, поскольку вся моя работа по преобразованию данных выполняется там. Удалось ли выставить IP внешнего кластера? Я мог бы сделать это вместо локального хоста.   -  person bruce    schedule 06.02.2018
comment
да, конечно, вы можете использовать kubectl expose pod cockroachdb-0 --port = 8080 --type = LoadBalancer Тогда это может занять некоторое время, но kubectl get svc должен показать вам внешний IP-адрес. (сначала будет на рассмотрении)   -  person Dries De Rydt    schedule 06.02.2018
comment
Большое спасибо!! - На данный момент это меня вполне устраивает.   -  person bruce    schedule 06.02.2018


Ответы (1)


Чтобы убедиться, что на этот вопрос есть ответ, проблема заключалась в том, что задающий вопрос запускал port-forward из Google Cloud Shell, а не со своего локального компьютера. Это означало, что служба была недоступна для веб-браузера его локального компьютера (поскольку Cloud Shell работает на виртуальной машине в центрах обработки данных Google).

Идеальное решение - запустить команду kubectl port-forward со своего компьютера.

Или, кроме этого, выставить стручок cockroachdb извне, используя kubectl expose pod cockroachdb-0 --port=8080 --type=LoadBalancer, как предложено в комментариях.

person Alex Robinson    schedule 01.04.2018