Нет доступа к консоли OpenShift на http: // ip: 8443

Я установил OpenShift версии 3 на CentOS7. Я следовал официальной документации: https://docs.openshift.org/latest/admin_guide/install/prerequisites.html#configuring-docker-storage.

метод 1 (Docker): https://docs.openshift.org/latest/getting_started/administrators.html#installation-methods

Я решил установить OpenShift в контейнере Docker. Последняя команда, которую мне нужно было сделать, была такая: я запускаю сервер в контейнере Docker, используя образы из Docker Hub:

$ docker run -d --name "openshift-origin" --net=host --privileged \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/openshift:/tmp/openshift \
openshift/origin start

Эта команда:

  • запускает прослушивание OpenShift на всех интерфейсах (0.0.0.0:8443),

  • запускает прослушивание веб-консоли на всех интерфейсах (0.0.0.0:8443),

  • запускает сервер etcd для хранения постоянных данных и

  • запускает компоненты системы Kubernetes.

    $ sudo docker ps
    
    CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
    
    d3f023085328        openshift/origin    "/usr/bin/openshift    2 days ago          Up 2 days                               openshift-origin
    

Теперь я мог:

$ sudo docker exec -it openshift-origin bash

Так что я могу получить доступ к openshift в моем контейнере. Я могу создавать проекты и приложения, но состояние сборки всегда ожидается. Я не могу посетить https://publicip:8443/console. Кто-нибудь, кто может мне помочь? Страница OpenShift загружается на секунду (когда я иду http://publicip:8443), но затем я получаю redirect_url на 10.0.0.x: 8443. Моя основная конфигурация выглядит так: https://github.com/openshift/origin/blob/master/test/old-start-configs/v1.0.0/config/openshift.local.config/master/master-config.yaml. Что мне нужно изменить?

url: https://10.0.0.x:8443/oauth/authorize?client_id=openshift-web-console&response_type=token&state=%2F&redirect_uri=https%3A%2F%2F10.0.0.x%3A8443%2Fconsole%2Foauth

РЕДАКТИРОВАТЬ:

docker run -d --name "origin" \
        --privileged --pid=host --net=host \
        -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /var/lib/docker:/var/lib/docker:rw \
        -v /var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes \
        openshift/origin start

person lvthillo    schedule 10.09.2015    source источник
comment
Вы пользуетесь бесплатной версией? Потому что https поддерживается только при бронзовом и восходящем планах.   -  person Tom K.    schedule 10.09.2015
comment
Да, но я не могу найти информацию о его поддержке.   -  person lvthillo    schedule 10.09.2015
comment
Это то, что вы ищете ?: developers.openshift.com/en /getting-started-rhel-centos.html   -  person Tom K.    schedule 11.09.2015
comment
Не совсем, я думаю, что RHC предназначен для OpenShift V2, не так ли? И разве мы не используем oc для OpenShift V3?   -  person lvthillo    schedule 11.09.2015
comment
Ух ты, это смущает (и для меня, и для Red Hat). Да, вы правы, это документация по OS v2.2. Но вот настоящая сделка (; docs.openshift.org/latest/whats_new/overview .html #   -  person Tom K.    schedule 11.09.2015
comment
Спасибо, но обычно консоль доступна после установки Docker и OpenShiftV3. Так что вопрос пока без ответа :)   -  person lvthillo    schedule 11.09.2015
comment
Что произойдет, если вы скрутите localhost: 8443 из командной строки вашего хоста (внутри и вне контейнера?)   -  person Clayton    schedule 11.09.2015
comment
Он возвращает пустую строку, и после этого я получил обратно свою подсказку   -  person lvthillo    schedule 11.09.2015
comment
Вы пробовали использовать Vagrantfile для установки? Я не знаю, относится ли это к CentOS7, но здесь написано: github.com/openshift/origin: Важно !: Docker в дистрибутивах, отличных от RedHat (Ubuntu, Debian, boot2docker), имеет распространение PRIVATE, которое прерывает запуск Origin внутри контейнера. Используйте для этих дистрибутивов путь установки Vagrant или двоичный файл. github.com/openshift/origin/blob/master/   -  person Tom K.    schedule 13.09.2015
comment
Я не использовал его для CentOS. Мой OpenShift работает внутри контейнера, и он работает, потому что я могу создавать в нем проекты и приложения. Но я не могу получить доступ к веб-консоли. (в документации говорится: все статические ресурсы, необходимые для запуска веб-консоли, обслуживаются из двоичного файла openshift)   -  person lvthillo    schedule 13.09.2015
comment
@ lorenzvth7 У вас это сработало? Это просто проблема с брандмауэром? т.е. вы что-нибудь видите, если запустите netstat -tpln | grep 8443? У меня аналогичная проблема, но по какой-то причине он вообще не слушает 8443. Хотя у меня он работал несколько месяцев назад, что любопытно   -  person Joel Pearson    schedule 18.07.2016
comment
@JoelPearson На самом деле не помню. Я перешел к расширенной установке, которая хорошо сработала. Теперь я попробовал это снова для вас, и, похоже, у меня это сработало (видя веб-консоль и т. Д.). Я написал команду, которую выполнил для запуска контейнера в моем вопросе. Надеюсь, это поможет. tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 2828/openshift (необходимо было выполнить netstat как root)   -  person lvthillo    schedule 18.07.2016
comment
@ lorenzvth7 Спасибо, я понял свою проблему, я пытался указать прокси-сервер с -e http_proxy=http://proxy:port, но, видимо, из-за этого 8443 не связывается должным образом. -e HTTP_PROXY=http://proxy:port заставить его работать правильно. Я использовал ту же команду запуска, что и вы (с добавлением прокси) из docs.openshift.org/latest/getting_started/.   -  person Joel Pearson    schedule 19.07.2016
comment
У меня аналогичная проблема. В моем случае я могу получить доступ к веб-консоли. Но не смог войти в него. У меня есть пользователь в openshift с правами администратора кластера. Но когда я пытаюсь войти в систему, используя эти кредиты, он перенаправляется на страницу с ошибкой (пустая ошибка). Не: кластер openshift работает на отдельной виртуальной машине, и я пытаюсь получить доступ к веб-консоли с моего локального компьютера.   -  person Sujai Sivasamy    schedule 01.12.2016
comment
@SujaiSivasamy Вы можете войти в свой терминал? (oc логин ..)   -  person lvthillo    schedule 13.12.2016


Ответы (2)


Возможно, я ошибаюсь, но для того, чтобы иметь возможность подключиться к контейнеру на порту 8443 с использованием ip хоста, вам необходимо опубликовать этот порт на хосте. Это можно сделать в команде docker run, добавив аргумент -p 8443: 8443

См. https://docs.docker.com/reference/commandline/run/.

person Emil Salageanu    schedule 28.10.2015
comment
Он указал --net = host, что означает, что весь сетевой стек хост-машины доступен для контейнера, поэтому публиковать порты не нужно. - person Joel Pearson; 18.07.2016

У меня такая же проблема, но я обошел ее с туннелем SSH.

Попробуйте выполнить следующее:

ssh -gf -D 8443 <publicip> -N

А затем посетите IP-адрес, на который вас перенаправляют, после установки прокси-сервера SOCKS в вашем браузере на localhost:8443

person gsterjov    schedule 10.11.2015