Openshift 4.5.18 - 应用程序不可用
Openshift 4.5.18 - Application is not available
我想在 AWS 云上的 Openshift 集群 运行ning 中部署我的 Web 应用程序。我正在使用 expose
命令使其在外部可用:
oc expose service svcname
但是当我尝试访问它时,出现了这个错误:
Web 应用程序运行不在 8443 上;它使用 https 运行ning 在端口 2553 上。
我们不想 运行 它在 8443 上。
我可以使用 oc port-forward
连接到 webapp,但我想让它正常工作
通过路由命令公开。
我的方法有问题吗?
更新
apiVersion: v1
kind: Service
metadata:
name: my-svc
labels:
app: mywapp
spec:
ports:
- port: 2553
nodePort: 30000
selector:
app: mywapp
我在 minishift 上使用并且能够使用的相同服务,使用本地 minishift 的 IP 地址。
您需要确保 Service
和 Route
都指定了正确的端口。
检查您的 Service
是否有 port
和 targetPort
。您可以在 Kubernetes 文档中找到更多信息:https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
检查您的 Route
是否在 spec
中指定了正确的 port
。您还可以使用 oc expose service svcname --port=2553
创建基于服务的路由。
在您的描述中,您还注意到您正在终止 TLS,因此您可能需要创建“直通”或“重新加密”路由,最简单的方法是使用以下命令:
oc create route passthrough myroute-passthrough --service=svcname --port=2553
oc create route reencrypt myroute-reencrypt --service=svcname --prt=2553
您可以在此处找到有关安全路由的更多信息:https://docs.openshift.com/container-platform/4.6/networking/routes/secured-routes.html
问题已通过 re-encrypt
解决。我使用 Openshift 证书来实现这一点。通过使用 Openshift,您不必担心证书过期等问题。
以下 link 对我帮助很大:
https://www.openshift.com/blog/self-serviced-end-to-end-encryption-approaches-for-applications-deployed-in-openshift
https://www.openshift.com/blog/self-serviced-end-to-end-encryption-for-kubernetes-applications-part-2-a-practical-example
https://developers.redhat.com/blog/2017/11/22/dynamically-creating-java-keystores-openshift/
我想在 AWS 云上的 Openshift 集群 运行ning 中部署我的 Web 应用程序。我正在使用 expose
命令使其在外部可用:
oc expose service svcname
但是当我尝试访问它时,出现了这个错误:
Web 应用程序运行不在 8443 上;它使用 https 运行ning 在端口 2553 上。
我们不想 运行 它在 8443 上。
我可以使用 oc port-forward
连接到 webapp,但我想让它正常工作
通过路由命令公开。
我的方法有问题吗?
更新
apiVersion: v1
kind: Service
metadata:
name: my-svc
labels:
app: mywapp
spec:
ports:
- port: 2553
nodePort: 30000
selector:
app: mywapp
我在 minishift 上使用并且能够使用的相同服务,使用本地 minishift 的 IP 地址。
您需要确保 Service
和 Route
都指定了正确的端口。
检查您的
Service
是否有port
和targetPort
。您可以在 Kubernetes 文档中找到更多信息:https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service检查您的
Route
是否在spec
中指定了正确的port
。您还可以使用oc expose service svcname --port=2553
创建基于服务的路由。在您的描述中,您还注意到您正在终止 TLS,因此您可能需要创建“直通”或“重新加密”路由,最简单的方法是使用以下命令:
oc create route passthrough myroute-passthrough --service=svcname --port=2553
oc create route reencrypt myroute-reencrypt --service=svcname --prt=2553
您可以在此处找到有关安全路由的更多信息:https://docs.openshift.com/container-platform/4.6/networking/routes/secured-routes.html
问题已通过 re-encrypt
解决。我使用 Openshift 证书来实现这一点。通过使用 Openshift,您不必担心证书过期等问题。
以下 link 对我帮助很大:
https://www.openshift.com/blog/self-serviced-end-to-end-encryption-approaches-for-applications-deployed-in-openshift https://www.openshift.com/blog/self-serviced-end-to-end-encryption-for-kubernetes-applications-part-2-a-practical-example https://developers.redhat.com/blog/2017/11/22/dynamically-creating-java-keystores-openshift/