0

我有一个裸机 kubernetes pod 在端口 8085 上运行 tomcat 应用程序。如果它是通用服务器,则可以通过http://<server-ip>:8085/app. 我的目标是在 Kubernetes 节点的地址和与 tomcat 中使用的端口相同的端口上公开 tomcat。

我可以使用节点端口服务公开和访问应用程序 - 但端口总是不同的不方便。我试图设置 traefik 入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-tag2
spec:
  rules:
    - host: kubernetes.example.com #in my conf I use node's domain name
      http:
        paths:
        - path: /test
          backend:
            serviceName: test-tag2
            servicePort: 8085

我可以在 Traefik 的仪表板中看到结果,但是如果我导航到http://kubernetes.example.com/test/app我什么也得不到。

我已经尝试了很多方法来配置它,但仍然没有运气。实际上有可能以这种方式暴露我的 pod 吗?

4

1 回答 1

1

您是否尝试在服务 yaml 中指定 nodePort 值?如果指定,kubernetes 将在指定的 NodePort 上创建服务。如果 nodePort 不可用,kubernetes 不会创建服务。

有关更多详细信息,请参阅此答案: https ://stackoverflow.com/a/43944385/1237402

于 2019-07-08T10:49:34.573 回答