如何在Openshift 3 Web控制台上查找MySQL持久性的公共IP地址?

时间:2017-04-03 10:21:38

标签: mysql openshift openshift-web-console

我在Openshift Web控制台上部署了Wildfly应用程序和MySQL持久性,并尝试将MySQL持久性与Eclipse的jdbc驱动程序连接在一起。但是我无法在Web控制台上找到公共IP地址。

如何查找MySQL持久性的公共IP地址或如何将特定IP地址配置为MySQL持久性?我在Openshift上附上了两种服务的图像。

[enter image description here

已更新

在Eclipse IDE上,我打开了MySQL pod的日志部分。我找到了MySQL服务的IP地址:

"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 pod与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连接起来。连接是 SUCCESSFUL

enter image description here

现在我很困惑这个127.0.0.1地址,我的本地PC或Openshift容器的MySQL pod。如何使用HostIP生成MySQL持久性,而不是127.0.0.1?我恐怕错过了一些程序。

1 个答案:

答案 0 :(得分:0)

您的mysql pod没有公共IP地址,但您可以使用端口转发。

使用Eclipse:

操作方法: 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