请问服务网格ASM创建istio服务的时候,需要创建k8s svc吗?
在使用服务网格ASM(Application Service Mesh)创建 Istio 服务时,您不需要手动创建 Kubernetes Service (Svc)。
ASM 是基于 Istio 的托管服务网格解决方案,它会自动创建适当的 Istio 资源来管理和路由流量。在 ASM 中,服务的定义是通过 Kubernetes Deployment、Pod 和 Service 的元数据进行的。
当您使用 ASM 创建服务时,只需要定义 Kubernetes Deployment 和 Pod 的配置,ASM 会自动为您创建与服务相关的 Istio VirtualService、DestinationRule、ServiceEntry 等资源。这些 Istio 资源用于实现服务之间的流量管理、负载均衡、故障恢复等功能。
因此,在使用 ASM 创建 Istio 服务时,您只需关注服务的 Deployment 和 Pod 配置,无需手动创建 Kubernetes Service。ASM 将根据您的配置自动创建和管理 Istio 资源,以提供完整的服务网格能力。
创建Istio服务不需要额外创建K8S service。
Istio底层使用K8S native的service discovery能力,可以自动检测并注册K8S服务。
仅需要在部署Pod的时候,加入正确的注解和标签即可。
具体做法是:
为Pod添加注解
yaml
Copy
metadata:
name: productpage
annotations:
istio.io/rev: "1"
istio.io/rev会定义Pod的版本,Istio会使用它来指定路由规则。
为Pod添加标签
yaml
Copy
metadata:
name: productpage
labels:
app: productpage
version: v1
app和version会定义该服务的一个服务组(service subset),Istio会使用它来细分流量策略。
部署其他服务
以相同的方式部署其它相关服务,如:reviews和details。
创建VirtualService
使用服务名来引用这些服务,Istio会自动发现它们。
yaml
Copy
http:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。