我想在具有不同路径的两个不同名称空间中使用相同的主机名,例如 example.com。例如,在命名空间 AI 中需要 example.com/clientA,在命名空间 BI 中需要 example.com/clientB。关于如何实现这一目标的任何想法?
问问题
378 次
2 回答
3
nginxinc具有跨命名空间配置功能,可让您完全按照您的描述进行操作。您还可以找到有关部署、服务等的准备好的示例。
你最可能不喜欢的唯一东西.. nginxinc不是免费的..
也看这里
跨命名空间配置 您可以使用 Mergeable Ingress 资源将公共主机的 Ingress 配置分布在多个 Ingress 资源中。这样的资源可以属于相同或不同的命名空间。这使得在使用大量路径时更易于管理。请参阅我们 GitHub 上的 Mergeable Ingress Resources 示例。
作为 Mergeable Ingress 资源的替代方案,您可以使用 VirtualServer 和 VirtualServerRoute 资源进行跨命名空间配置。请参阅我们 GitHub 上的跨命名空间配置示例。
于 2020-09-22T09:30:04.827 回答
1
如果您不想更改默认入口控制器 (nginx-ingress),另一种选择是ExternalName
在默认命名空间中定义一个类型的服务,该服务指向另一个命名空间中服务的完整内部服务名称。
像这样的东西:
apiVersion: v1
kind: Service
metadata:
labels:
app: my-svc
name: webapp
namespace: default
spec:
externalName: my-svc.my-namespace.svc # <-- put your service name with namespace here
type: ExternalName
于 2020-09-22T11:08:24.037 回答