在 openshift docker 实例上安装 Fabric8

Install Fabric8 on openshift docker instance

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

但是我无法接通服务

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 控制台吗?

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

oc get route

如果您尝试远程访问 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,它没有端口的概念。此外,这两个服务和 pods 都不响应 ping,因此您将无法 ping 到它们。如果您正在尝试检查连接性,那么您可以使用 nc 实用程序:

nc -v  <address> <port>

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