Kubernetes 使用入口通过contextPath访问外部服务
我有一个带有一组应用程序的Wildfly,没有在kubernetes集群中运行。 让我们说一个是http://wildfly-external/FOO/ 在集群内部,我希望我的集群应用程序能够在不知道wildfly上的contextPath的情况下访问FOO 我们的方法是为这个包含路径的服务生成一个Endpint、服务和入口 服务中心Kubernetes 使用入口通过contextPath访问外部服务,kubernetes,ibm-cloud,kubernetes-helm,kubernetes-ingress,Kubernetes,Ibm Cloud,Kubernetes Helm,Kubernetes Ingress,我有一个带有一组应用程序的Wildfly,没有在kubernetes集群中运行。 让我们说一个是http://wildfly-external/FOO/ 在集群内部,我希望我的集群应用程序能够在不知道wildfly上的contextPath的情况下访问FOO 我们的方法是为这个包含路径的服务生成一个Endpint、服务和入口 服务中心 apiVersion: v1 kind: Service metadata: annotations: meta.helm.sh/rele
apiVersion: v1
kind: Service
metadata:
annotations:
meta.helm.sh/release-name: dns
meta.helm.sh/release-namespace: test
creationTimestamp: "2020-08-31T17:32:08Z"
labels:
app.kubernetes.io/instance: dns
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: foo
helm.sh/chart: dns-1.0.0-snapshot
name: foo
namespace: test
resourceVersion: "151848872"
selfLink: /api/v1/namespaces/test/services/foo
uid: e5607cd4-ebaf-11ea-9f17-005056a7cff9
spec:
clusterIP: 10.200.149.146
ports:
- name: foo
port: 80
protocol: TCP
targetPort: 13000
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
亚马尔酒店
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: dns
meta.helm.sh/release-namespace: test
creationTimestamp: "2020-08-31T17:32:08Z"
generation: 1
labels:
app.kubernetes.io/instance: dns
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: foo
helm.sh/chart: dns-1.0.0-snapshot
name: foo
namespace: test
resourceVersion: "151848901"
selfLink: /apis/extensions/v1beta1/namespaces/test/ingresses/foo
uid: e56cc8c9-ebaf-11ea-9f17-005056a7cff9
spec:
rules:
- http:
paths:
- backend:
serviceName: foo
servicePort: http
path: /FOO
status:
loadBalancer:
ingress:
- ip: 10.6.1.1
不幸的是,当curl http//foo/在一个pod中时,我在http://wildfly,而不是http://wildfly/FOO.
这看起来像是我通过http://foo/ 而不是通过入口
有可能吗?我想做什么?有什么提示吗?在我看来,入口在服务之上。 顺序是浏览器->入口(应用程序负载平衡)->服务。现在url
http//foo/
是访问服务而不是入口。您可以使用ingress将上下文映射到服务,但您需要访问带有ingress完整主机名的url。
谢谢,我是否理解您的意思正确,这将始终访问该服务。要访问入口,我需要访问完整的url,如?