gpt4 book ai didi

openshift-origin - 在 OpenShift Origin Server 中公开服务 - 路由器不工作

转载 作者:行者123 更新时间:2023-12-04 12:48:22 25 4
gpt4 key购买 nike

我们的团队决定尝试使用 OpenShift Origin 服务器来部署服务。我们有一个单独的虚拟机,安装了 OpenShift Origin 服务器并且运行良好。我能够部署我们的本地 docker 镜像,并且这些服务也运行良好 - Pod 已启动并运行,获得它们自己的 IP,我可以从 VM 访问服务端点。

问题是我无法让它工作,所以服务暴露在机器之外。我阅读了有关路由器的信息,它被认为是公开服务的正确方式,但它不起作用,现在是一些细节。

假设我的虚拟机是 10.48.1.1。带有我的一项服务的带有 docker 容器的 Pod 在 IP 172.30.67.15 上运行:

~$ oc get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-svc 172.30.67.15 <none> 8182/TCP 4h

该服务是一个简单的 Spring Boot 应用程序,在端口 8182 上公开了 REST 端点。当我从托管它的 VM 调用它时,它工作得很好:

$ curl -H "Content-Type: application/json" http://172.30.67.15:8182/home
{"valid":true}

现在我想把它暴露在外面,所以我创建了一个路由器:oc adm router my-svc --ports='8182'

我按照 OpenShift dev doc 中的步骤操作来自 CLI 和控制台 UI。路由器创建得很好,但是当我想检查它的状态时,我得到了这个:

$ oc status
In project sample on server https://10.48.3.161:8443
...
Errors:
* route/my-svc is routing traffic to svc/my-svc, but either the administrator has not installed a router or the router is not selecting this route.

关于此错误,我找不到任何可以帮助我解决问题的信息 - 有人遇到过类似问题吗?是否有任何其他(更好/合适的?)公开服务端点的方式?我是 OpenShift 的新手,所以我会提出任何建议。

最佳答案

如果有人感兴趣,我终于找到了“解决方案”。问题是没有创建“路由器”服务 - 我不知道必须创建它。

一步一步,为了创建这个服务,我按照 OpenShift doc page 中的说明进行操作这很简单,但我无法使用管理员帐户登录。我使用默认管理员帐户

$ oc login -u system:admin

但不是使用可用的证书,它一直要求我输入密码,但它不应该。什么问题?我的环境变量被重置了,我不得不重新设置它们

$ export KUBECONFIG="$(pwd)"/openshift.local.config/master/admin.kubeconfig
$ export CURL_CA_BUNDLE="$(pwd)"/openshift.local.config/master/ca.crt
$ sudo chmod +r "$(pwd)"/openshift.local.config/master/admin.kubeconfig

这是 OpenShift 文档中描述的首要步骤之一 OpenShift docs .之后证书设置正确并且登录按预期工作。作为管理员,我创建了路由器服务(第一个链接)并且路由开始工作 - 没有更多错误。所以最后它变得非常简单和虚拟,但鉴于我没有使用 OpenShift 的经验,我很难找出发生了什么。希望对遇到同样问题的人有所帮助。

关于openshift-origin - 在 OpenShift Origin Server 中公开服务 - 路由器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42250967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com