现在我正在使用treafik将我的pods服务公开给外部,但是我阅读了treafik部署文档并仅在一个名称空间中找到treafik转发请求。例如,A命名空间请求无法转发到B命名空间,我应该部署multi-treafik在kubernetes集群中?现在我有6个命名空间,我应该部署6个treafik吗?它是有线的,关于这种情况的最佳实践是什么?我从互联网上找到了,但是什么也没说。
如果我正确地理解了您,那么很遗憾这是不可能的,并且这样做是一个有意识的决定:
交叉名称空间引用将是特权升级攻击的主要来源。
但是,如果您不关心安全规则,则可以采取一种解决方法(请记住,它不适用于所有平台)。您需要使用类型的Kubernetes服务,externalName
该服务将引用您其他命名空间中的服务。请参见下面的示例:
一个。你必须serviceA
在namespaceA
b。创建serviceB
于namespaceB
spec:
...
type: ExertalName
externalName: serviceA.namespaceA.svc.cluster.local
C。添加入口规则将ingressB
在namespaceB
- path: /****
backend:
serviceName: serviceB
servicePort: ***
但是,如果只为每个名称空间部署多个入口事务,那将更安全。
希望对您有所帮助。