【问题标题】:Openshift 4.5.18 - Application is not availableOpenshift 4.5.18 - 应用程序不可用
【发布时间】:2021-03-01 16:27:32
【问题描述】:

我想在 AWS 云上运行的 Openshift 集群中部署我的 Web 应用程序。我正在使用expose 命令使其在外部可用:

oc expose service svcname

但是当我尝试访问它时,我得到了这个错误:

Web 应用程序不在 8443 上运行;它使用 https 在端口 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 地址。

【问题讨论】:

    标签: amazon-web-services web-applications openshift


    【解决方案1】:

    【讨论】:

    • 参考资料非常好,我无法通过谷歌搜索轻松找到。
    【解决方案2】:

    您需要确保您的ServiceRoute 都指定了正确的端口。

    • 检查您的Service 中的porttargetPort。您可以在 Kubernetes 文档中找到更多信息:https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service

    • 检查您的Route 是否在spec 中指定了正确的port。也可以使用oc expose service svcname --port=2553创建基于Service的Route。

    • 在您的描述中,您还指出您正在终止 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

    【讨论】:

    • 嗨,据我所知,我并没有终止 TLS,你是怎么知道我要终止它的。你能不能给点光。我只是使用端口 2553 而不是标准的 HTTPS 端口。难道我做错了什么?我是 TLS、Kubernetes 和 Openshift 的新手。
    • 引用:“[..] 它使用 https [..] 在端口 2553 上运行”。如果你不需要任何与 TLS/HTTPS 相关的东西,那么你可以使用oc expose service svcname --port=2553
    • 我需要 https。如果您知道完全显示此设置的任何页面/博客,请提供给我。
    • 如何创建密钥和crt文件以及保存在哪里?入口控制器如何知道它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2016-02-16
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    相关资源
    最近更新 更多