Как найти общедоступный IP-адрес MySQL, сохраняемый в веб-консоли Openshift 3?

Я развернул приложение Wildfly и MySQL persistent на веб-консоли Openshift и попытался подключить MySQL persistent с драйвером jdbc Eclipse снаружи. Однако я не могу найти публичный IP-адрес на веб-консоли.

Как я могу найти общедоступный IP-адрес MySQL постоянным или как настроить определенный IP-адрес в MySQL постоянным? Я прикрепляю изображение обоих сервисов на Openshift.

[введите описание изображения здесь

ОБНОВЛЕНО

В Eclipse IDE я открыл часть журнала модуля MySQL. И я нашел IP-адреса службы MySQL:

"readinessProbe" : {
                "exec" : {"command" : [
                    "/bin/sh",
                    "-i",
                    "-c",
                    "MYSQL_PWD=\"$MYSQL_PASSWORD\" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"
                ]},
                "initialDelaySeconds" : 5,
                "timeoutSeconds" : 1,
                "periodSeconds" : 10,
                "successThreshold" : 1,
                "failureThreshold" : 3
            },

....

"phase" : "Running",
        "conditions" : [
            {
                "type" : "Initialized",
                "status" : "True",
                "lastTransitionTime" : "2017-04-02T06:35:00Z"
            },
            {
                "type" : "Ready",
                "status" : "True",
                "lastTransitionTime" : "2017-04-03T16:47:27Z"
            },
            {
                "type" : "PodScheduled",
                "status" : "True",
                "lastTransitionTime" : "2017-04-02T06:35:00Z"
            }
        ],
        "hostIP" : "172.31.14.159",
        "podIP" : "10.1.72.72",
        "startTime" : "2017-04-02T06:35:00Z",
        "containerStatuses" : [{
            "name" : "mysql",
            "state" : {"running" : {"startedAt" : "2017-04-03T16:47:07Z"}},
            "lastState" : {"terminated" : {
                "exitCode" : 255,
                "reason" : "Error",
                    "startedAt" : "2017-04-02T06:36:28Z",
....

Я попытался соединить модуль MySQL с hostIP, 172.31.14.159 или podIP, 10.1.72.72. Но соединение не удалось. И тогда я нашел следующие команды генерации MySQL в содержимом журнала:

"exec" : {"command" : [
                        "/bin/sh",
                        "-i",
                        "-c",
                        "MYSQL_PWD=\"$MYSQL_PASSWORD\" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATABASE -e 'SELECT 1'"
                    ]},

Итак, я попытался соединить службу базы данных mysql с ip 127.0.0.1. И связь была УСПЕШНОЙ.

введите описание изображения здесь

Теперь я запутался, что это за адрес 127.0.0.1, мой локальный ПК или модуль MySQL контейнера Openshift. Как я могу сгенерировать MySQL с помощью HostIP, а не с 127.0.0.1? Боюсь, я пропустил какую-то процедуру.

1 ответ

Решение

Ваш mysql pod не имеет публичного IP-адреса, но вы можете использовать переадресацию портов.

С затмением:

Инструкции: https://blog.openshift.com/getting-started-eclipse-jboss-tools-openshift-online-3/

Загрузить: http://marketplace.eclipse.org/content/jboss-tools-luna

С Openshift CLI:

$ oc port-forward <pod> [<local_port>:]<remote_port> [...[<local_port_n>:]<remote_port_n>]

такие как

$ oc port-forward <pod> 3306:5000

Теперь вы можете подключить URL-адрес jdbc:mysql://127.0.0.1:5000/database. Mysql pod слушает ваш локальный порт 5000.

https://docs.openshift.com/container-platform/3.3/dev_guide/port_forwarding.html

Другие вопросы по тегам