在存储库中围绕服务构建或建模Istio策略的一般方法是什么?

时间:2018-08-16 04:29:54

标签: kubernetes istio

当前,我们的GKE集群由在不同名称空间中运行的多个服务组成,每个svc也彼此通信。我们正在使用:

  • 每个服务在不同的git repo上
  • 每个服务回购包含:源代码,定义应用程序部署和基础设施(服务,Istio入口/出口网关等)的头盔图,并具有自己的ci / cd(jenkinsfile)。

现在,我还希望合并Istio安全策略以加强svc到svc通信的安全性。我了解它的基本概念。现在,我的案例是如何将服务策略放入什么存储库中。

例如:假设我有服务A(客户端)与服务B(服务器)进行通信。 Istio有3种不同的策略执行方式:

  • 网状政策
  • 整个命名空间的政策
  • 服务特定政策

由于我们的gke集群仍处于使用Istio的初期阶段,并且我希望在中央管理方面花很少的精力,因此我更喜欢采用服务特定的政策,因此每个服务所有者都可以管理该政策太。

我打算放:

  • 每个执行操作的服务回购中的Policy(服务特定策略) 作为服务器。其背后的原因是Policy正在将传入的trafficPolicy强制执行到服务(而不是输出)。

但是我想知道DestinationRule怎么样? Istio在文章中提供了here

  

要配置客户端,您需要设置目标规则以使用双向TLS。我

从上面的引用中,我了解到DestinationRule是强制执行客户端(具有istio侧汽车集装箱)的人。因此,DestionationRule应该放在客户端服务存储库中(在给定的情况下,它应该在服务A存储库中)。

但是,当然,在服务器端(服务B回购),团队还希望具有某种负载平衡和流量分割机制(canary,稳定,版本控制等),只能由{{1 }}和VirtualService

有没有想到这个?是否有人在存储库中围绕服务设计此策略清单(istio yaml文件)方面具有一般模式/方法?

0 个答案:

没有答案