公开 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 不会创建服务。
请参阅此答案了解更多详情:
我在端口 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 不会创建服务。
请参阅此答案了解更多详情: