我尝试开始使用 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 控制台吗?
最佳答案
如果您尝试远程访问 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 使用不同的网络协议(protocol) ICMP,它没有端口的概念。此外,服务和 pod 都不响应 ping,因此您将无法对它们执行 ping 操作。如果您尝试检查连接性,则可以使用 nc
效用:
nc -v <address> <port>
如果地址/端口可访问,这将报告连接成功。请注意,在 OpenShift 中,pod IP 和服务 IP 通常只能在集群内部(即节点上)路由,因此从集群外部尝试此操作可能会失败。
关于docker - 在 openshift docker 实例上安装 Fabric8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766244/