【发布时间】:2020-09-03 06:06:10
【问题描述】:
我有一个 Wildfly,其中包含一组应用程序,而不是在 kubernetes 集群中运行。 假设一个是 http://wildfly-external/FOO/
从集群内部,我希望我的集群应用程序可以在不知道 wildfly 上的 contextPath 的情况下到达 FOO。
我们的方法是为这个包含路径的服务生成一个 Endpint、Service 和一个 Ingress
service.yaml
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: {}
ingress.yaml
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
不幸的是,当在 pod 中 curl http//foo/ 时,我到达 http://wildfly 的 Wildfly 起始页,而不是 http://wildfly/FOO 的应用程序。 这看起来像我通过 http://foo/ 访问服务而不是通过入口。
有可能做,我想做什么?有什么提示吗?
【问题讨论】:
标签: kubernetes ibm-cloud kubernetes-helm kubernetes-ingress