开发者社区 > 云原生 > 容器服务 > 正文

请问服务网格ASM创建istio服务的时候,需要创建k8s svc吗?

请问服务网格ASM创建istio服务的时候,需要创建k8s svc吗?

展开
收起
真的很搞笑 2023-07-22 12:40:53 71 0
3 条回答
写回答
取消 提交回答
  • 在使用服务网格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 资源,以提供完整的服务网格能力。

    2023-07-28 10:02:04
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    创建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:

    • match:
      • uri:
        prefix: /reviews
        route:
      • destination:
        host: reviews
        subset: v1
        以上配置会将/reviews/* 转发至reviews服务的v1版本。
    2023-07-23 17:17:42
    赞同 展开评论 打赏
  • yeap 服务发现需要svc name,此回答整理自钉群“[外]服务网格ASM用户交流群”

    2023-07-22 12:55:50
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    Kubernetes上基于Istio体验云原生应用实践 立即下载