温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - is it possible to make kubernetes ingress treafik apply to all namespace
kubernetes

其他 - 是否有可能使kubernetes入口treafik适用于所有名称空间

发布于 2020-04-06 23:32:16

现在我正在使用treafik将我的pods服务公开给外部,但是我阅读了treafik部署文档并仅在一个名称空间中找到treafik转发请求。例如,A命名空间请求无法转发到B命名空间,我应该部署multi-treafik在kubernetes集群中?现在我有6个命名空间,我应该部署6个treafik吗?它是有线的,关于这种情况的最佳实践是什么?我从互联网上找到了,但是什么也没说。

查看更多

提问者
Dolphin
被浏览
317
OhHiMark 2020-01-31 18:26

如果我正确地理解了您,那么很遗憾这是不可能的,并且这样做是一个有意识的决定:

交叉名称空间引用将是特权升级攻击的主要来源。

但是,如果您不关心安全规则,则可以采取一种解决方法(请记住,它不适用于所有平台)。您需要使用类型的Kubernetes服务,externalName该服务将引用您其他命名空间中的服务。请参见下面的示例:

一个。你必须serviceAnamespaceA

b。创建serviceBnamespaceB

spec:
    ...
    type: ExertalName
    externalName: serviceA.namespaceA.svc.cluster.local

C。添加入口规则将ingressBnamespaceB

 - path: /****
    backend:
      serviceName: serviceB
      servicePort: ***

但是,如果只为每个名称空间部署多个入口事务,那将更安全。

希望对您有所帮助。