首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过contextPath使用入口访问外部服务

通过contextPath使用入口访问外部服务
EN

Stack Overflow用户
提问于 2020-09-03 14:06:11
回答 1查看 68关注 0票数 0

我有一个带有一组应用程序的Wildfly,没有在kubernetes集群中运行。假设其中一个是http://wildfly-external/FOO/

在集群中,我希望我的集群应用程序可以在不知道wildfly上的contextPath的情况下访问FOO。

我们的方法是为这个服务生成一个Endpint、Service和一个包含路径的Ingress

service.yaml

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
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/访问服务,而不是通过入口。

有没有可能做我想做的事?有什么提示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 14:23:33

在我看来,入口在服务的顶部。顺序是browser->ingress(应用程序负载平衡)->service。现在,url http//foo/将访问服务而不是入口。你可以通过ingress rewrite使用入口将上下文映射到服务,但是你需要访问url的全主机名为入口。谢谢,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63717771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档