开发者社区 > 云原生 > 正文

Nacos sidecar的configdump文件中,istio没有匹配规则,咋做灰度呢?

d099611cfe92894b5c3ab3f2778cdcd1.png
Nacos sidecar的configdump文件中,hosts这块只有域名,没有具体的ip,通过ip访问的话,istio没有匹配规则,咋做灰度呢?

展开
收起
-Feng、冯冯 2023-11-22 02:37:56 31 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 Nacos Sidecar 的 configdump 文件中,如果没有 Istio 匹配规则,那么你将无法使用 Istio 的灰度发布功能。
    为了使 Istio 支持灰度发布,你需要为你的应用程序配置 Istio 侧车(sidecar)。这样,Istio 就可以在每个 Pod 中注入一个 Envoy 代理,并开始控制进出这个 Pod 的流量。一旦 Istio 控制了流量,它就可以使用自己的路由规则来实现灰度发布。
    如果你还没有为你的应用程序配置 Istio 侧车,可以按照以下步骤操作:

    1. 安装 Istio。
    kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.9/install/kubernetes/helm/istio-init.yaml
    helm install istio --namespace istio-system https://raw.githubusercontent.com/istio/istio/release-1.9/install/kubernetes/helm/istio
    
    1. 在你的工作负载上启用自动注入。
    kubectl label namespace default istio-injection=enabled
    

    然后,你可以按照官方文档中的指示来创建 VirtualService 和 DestinationRule。这样,你就可以为你的应用程序设置复杂的路由规则,包括灰度发布。

    2023-11-29 15:54:39
    赞同 展开评论 打赏
  • 在Nacos配置中心的sidecar的configdump文件中,如果只存在域名而没有具体的IP,ist在Nacos配置中心的sidecar的configdump文件中,如果只存在域名而没有具体的IP,istio确实可能因缺少匹配规则而无法进行灰度。在这种情况下,您可以考虑以下方法来实现灰度:

    1. 使用Istio提供的准入控制器变更Webhook:Istio的准入控制器能够自动将Sidecar注入到可用的Kubernetes Pod中。即使默认情况下Istio的准入控制器是启用的,某些Kubernetes发行版可能会禁用这些控制功能。因此,您需要确保准入控制器已正确配置并正在运行。

    2. 手动注入Sidecar:除了自动注入外,还可以使用istioctl命令手动注入Sidecar。这种方法允许您更精确地控制哪些Pods应该被注入Sidecar。

    3. 配置特定的域名解析:为了解决只有域名没有IP的问题,您可以考虑在DNS服务器上为这些域名配置特定的IP解析,从而确保istio可以正确地路由流量到相应的服务。

    4. 使用Nacos的配置变更通知功能:Nacos不仅可以用来集中管理配置,还可以在配置发生变更时及时通知相关的微服务,从而实现配置的热更新。您可以利用这一特性,当新的IP地址信息添加到Nacos时,触发相应的应用或服务的重启,从而使新的IP地址生效。

    2023-11-22 10:44:50
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Kubernetes上基于Istio体验云原生应用实践 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载