首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有一种方法可以在kubernetes服务级别上设置金丝雀或加权部署,而不使用入口/网关?

是的,您可以使用Kubernetes中的Service Mesh来实现在服务级别上设置金丝雀或加权部署,而不使用入口/网关。

Service Mesh是一种基于代理的架构模式,它通过在应用程序之间注入代理来提供通信、安全性和监控的能力。其中,Istio是最受欢迎的Service Mesh实现之一。

使用Istio,您可以通过以下方式实现金丝雀或加权部署:

  1. Traffic Shifting(流量转移):可以通过在Istio中配置虚拟服务和目标规则来实现流量的分发和控制。您可以指定特定版本的服务接收的流量比例,例如,将5%的流量发送到新版本,95%的流量发送到旧版本。这样,您可以逐渐增加新版本的流量比例,以实现金丝雀部署或加权部署。
  2. Canary Deployment(金丝雀部署):可以使用Istio的流量转移功能将流量引导到新版本的服务,然后根据新版本的稳定性和性能指标逐步增加流量比例。如果新版本出现了问题,可以快速将流量回滚到旧版本。
  3. Weighted Deployment(加权部署):可以使用Istio的目标规则功能,在不同版本的服务之间定义流量权重。例如,您可以将80%的流量发送到一个版本,20%的流量发送到另一个版本,以实现加权部署。

这些功能可以通过Istio中的VirtualService和DestinationRule来进行配置。您可以使用Tencent Cloud的TKE(Tencent Kubernetes Engine)来部署和管理基于Kubernetes的集群,并使用Istio来实现金丝雀或加权部署。

更多关于Istio的信息和Tencent Cloud相关产品,请参考以下链接:

  • Istio官方网站:https://istio.io/
  • TKE产品介绍:https://cloud.tencent.com/product/tke
  • TKE文档-服务网格Istio:https://cloud.tencent.com/document/product/457/46743
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Ingress-nginx灰度发布功能详解

    最近公司一直在推进DevOps,主要目标是减少对个人的依赖,降低团队之间的损耗,在保证质量的前提下,快速交付价值。在实际执行过程中表现出来的就是服务拆分粒度尽可能细,服务每次上线功能尽可能少,发布节奏尽可能快; 服务必须做到可灰度、可监控、可回滚。至于监控先暂且不聊,如何做到灰度发布升级以及回滚呢?整个PaaS平台是基于Kubernetes进行建设,Kubernetes资源对象Deployment可以做到滚动升级的功能,但并没有提供暂停点机制,即没有办法快捷方便的进行灰度功能的针对性测试。而灰度能力是业务快速发布过程中不可或缺的一种能力,如果出现问题,灰度能够保证其影响范围。

    01

    日志记录

    访问应用服务器的请求都需要拥有一定权限,如果说每访问一个服务都需要验证一次权限,这个对效率是很大的影响。可以把权限认证放到 API 网关来进行。目前比较常见的做法是,用户通过登录服务获取 Token,把它存放到客户端,在每次请求的时候把这个 Token 放入请求头,一起发送给服务器。API 网关要做的事情就是解析这个 Token,知道访问者是谁(鉴定),他能做什么/访问什么(权限)。说白了就是看访问者能够访问哪些 URL,这里根据权限/角色定义一个访问列表。如果要实现多个系统的 OSS(Single Sign On 单点登录),API 网关需要和 CAS(Central Authentication Service 中心鉴权服务)做连接,来确定请求者的身份和权限。

    05
    领券