公开 pod 的 tomcat 端口

Expose pod's tomcat port

我在端口 8085 上有裸机 kubernetes pod 运行 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 吗?

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

请参阅此答案了解更多详情: