gpt4 book ai didi

kubernetes - 如何从所有主机访问入口?

转载 作者:行者123 更新时间:2023-12-02 11:39:25 25 4
gpt4 key购买 nike

我正在为谷歌云实例中的 Web 应用程序设置裸机 kubernetes 集群,我正在通过入口 Controller 连接到微服务。如何从所有传入主机访问入口 Controller ?

有一个 pod 运行 angular web 应用程序,另一个 pod 运行 node api 微服务。 Angular Web 应用程序已在全局公开。当从外部访问微服务并传递带有主机名的 header 时,我能够获得预期的响应。在入口 yaml 中删除主机后,我无法访问入口。

kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/rewrite-target: nginx
creationTimestamp: "2019-08-12T07:41:37Z"
generation: 7
name: test
namespace: default
resourceVersion: "546400"
selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/test
uid: 374836d2-34c3-4053-b0e3-9fe3f63167cc
spec:
rules:
- host: bar.com
http:
paths:
- backend:
serviceName: login-service
servicePort: 3000
path: /login-service
- backend:
serviceName: organization-service
servicePort: 3000
path: /organization-service
status:
loadBalancer:
ingress:
- ip: 10.128.0.16
- ip: 203.0.113.2

I except the ingress要从ingress中指定主机(bar.com)以外的所有主机访问。

从外部集群(全局)访问 API 微服务的任何其他方式?

最佳答案

为了从集群外部(全局)访问 API 服务。

创建代理nginx服务器,并暴露nginx代理服务器的端口。从 Web 应用服务器,通过外部 IP 和暴露的端口向代理服务器调用请求。代理服务器会将请求传递给受尊重的 API 微服务,并返回预期的响应。

编辑 nginx.conf 文件。

location /<your_requested_URL> {
proxy_pass http://service_name:port;
}

关于kubernetes - 如何从所有主机访问入口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57491894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com