2

我尝试开始使用 fabric 8 并在 docker 上打开班次。一个开放的班次实例(单个 docker 容器)正在运行,如下所述:https ://docs.openshift.org/latest/getting_started/administrators.html#running-in-a-docker-container 。我将 Fabric 8 安装为http://fabric8.io/guide/getStarted/openshift.html,现在基本的 pod 正在运行。

但我无法到达服务

oc get services
NAME              CLUSTER_IP       EXTERNAL_IP   PORT(S)                 SELECTOR                                                 AGE
docker-registry   172.30.194.44    <none>        5000/TCP                docker-registry=default                                  18h
fabric8           172.30.178.196                 80/TCP                  group=io.fabric8.apps,project=console,provider=fabric8   18h
kubernetes        172.30.0.1       <none>        443/TCP,53/UDP,53/TCP   <none>                                                   20h
router            172.30.77.252    <none>        80/TCP                  router=router                                            18h
oc describe service fabric8
Name:           fabric8
Namespace:      default
Labels:         group=io.fabric8.apps,project=console,provider=fabric8,version=2.2.116
Selector:       group=io.fabric8.apps,project=console,provider=fabric8
Type:           LoadBalancer
IP:         172.30.178.196
Port:           <unnamed>   80/TCP
NodePort:       <unnamed>   30308/TCP
Endpoints:      172.17.0.2:9090
Session Affinity:   None
No events.

ping 172.17.0.2:9090
ping: unknown host 172.17.0.2:9090
gheiler@testCluster:~$ ping 172.30.178.196
PING 172.30.178.196 (172.30.178.196) 56(84) bytes of data.
From 62.218.18.245 icmp_seq=1 Destination Host Unreachable
From 62.218.18.245 icmp_seq=2 Destination Host Unreachable

在故障排除部分: http: //fabric8.io/guide/getStarted/openshift.html 一些想法,如

corsAllowedOrigins:
  - .*

建议。但我不知道如何在 docker 容器中启用它们。您知道为什么我无法访问我的基本 fabric8 控制台吗?

4

2 回答 2

3

如果您尝试远程访问 OpenShift 上的服务,则需要确保您已部署路由器并添加了Route. 您可以在https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/routes.html阅读有关 OpenShift 中路由的更多信息。

在这种情况下,如果您添加路线:

cat <<EOF | kubectl create -f - apiVersion: v1 kind: Route metadata: name: fabric8-console pec: host: <EXTERNALLY_RESOLVE_DNS> to: kind: Service name: fabric8 EOF

作为一些额外的信息,您不能ping以端口为目标。Ping 使用不同的网络协议 ICMP,它没有端口的概念。此外,服务和 Pod 都不会响应 ping,因此您将无法 ping 它们。如果您尝试检查连接性,则可以使用该nc实用程序:

nc -v  <address> <port>

如果地址/端口可访问,这将报告连接成功。请注意,在 OpenShift 中,pod IP 和服务 IP 通常只能在集群内部(即节点上)路由,因此从集群外部尝试此操作可能会失败。

于 2016-03-04T09:23:12.897 回答
1

您是否在 openshift 中创建了到达 fabric8 pod 的路线?

oc get route
于 2016-03-03T14:54:29.027 回答