阿里云服务网格ASM公测来袭系列之六:在ASM中为应用定义路由规则

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 通过管理 Istio 资源定义,可以实现 ASM 服务网格的流量治理、鉴权以及安全保护等能力。本文介绍如何定义虚拟服务和目标规则这两种 Istio 资源。

通过管理 Istio 资源定义,可以实现 ASM 服务网格的流量治理、鉴权以及安全保护等能力。本文介绍如何定义虚拟服务和目标规则这两种 Istio 资源。

欢迎扫码入群进一步交流:
image

定义虚拟服务

  • 在控制平面区域,选择虚拟服务页签,然后单击新建。
  • 在新建页面,定义虚拟服务,单击确定。
  • 选择相应的命名空间。本例中选择的命名空间为 default。
  • 在文本框中,定义 Istio 虚拟服务。可参考如下 YAML 定义:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
spec:
  hosts:
  - "*"
  gateways:
  - bookinfo-gateway
  http:
  - match:
    - uri:
        exact: /productpage
    - uri:
        prefix: /static
    - uri:
        exact: /login
    - uri:
        exact: /logout
    - uri:
        prefix: /api/v1/products
    route:
    - destination:
        host: productpage
        port:
          number: 9080
  • 在虚拟服务页面可以看到新建的 bookinfo 服务。
    image.png

定义 Istio 网关

  • 在控制平面区域,选择Istio网关页签,然后单击新建。
  • 在新建页面中,定义虚拟服务,单击确定。
  • 选择相应的命名空间。本例中选择的命名空间为 default。
  • 在文本框中,定义 Istio 网关。可参考如下 YAML 定义:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: bookinfo-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
  • 在Istio服务网关页面可以看到新建的 bookinfo-gateway 网关。

image.png

执行结果

在浏览器地址栏输入 http://{入口网关服务的IP地址}/productpage,可以看到 Bookinfo 应用的页面。按照如下步骤查看入口网关服务的 IP 地址:

  • 登录容器服务控制台,选择路由与负载均衡 > 服务。
  • 在服务(Service)页面,在集群和命名空间下拉列表中分别选择部署入口网关的集群和 istio-system。
  • 查看名为 istio-ingressgateway 服务所对应的外部端点信息,即是入口网关服务的 IP 地址。
  • 也可以通过 kubectl 客户端查询入口网关服务的 IP 地址。在对应部署入口网关的集群的环境下,执行以下命令查询:
kubectl get service istio-ingressgateway -n istio-system -o jsonpath="{.status.loadBalancer.ingress[*].ip}"

image.png

由于 Reviews 微服务有 3 个版本,因此刷新页面可以看到 3 种不同的显示内容:

  • v1 版本不会调用 Ratings 服务。
  • v2 版本会调用 Ratings 服务,并使用 1 到 5 个黑色星形图标来显示评分信息。
  • v3 版本会调用 Ratings 服务,并使用 1 到 5 个红色星形图标来显示评分信息。

当然,可以继续定义目标规则或者修改虚拟服务,使用Istio的其他更多功能。

相关文章
|
5月前
|
自然语言处理 IDE 测试技术
通义灵码全面公测,阿里云工程师人手一编码助手
通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者编码。 通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代码数据集和编程教科书训练,可根据当前代码文件及跨文件的上下文,自动生成行级/函数级代码、单元测试、代码注释等,此外还具备代码解释、智能研发问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 使用场景调优,为开发者带来高效、流畅的编码体验。
1056 0
|
3月前
|
Web App开发 人工智能 算法
阿里云AI新品“通义听悟”,开放公测!
阿里云在会上宣布了通义大模型新进展,聚焦音视频的AI新品“通义听悟”上线,成为国内首个开放公测的大模型应用产品。
327 0
|
5月前
|
Kubernetes API 容器
基于阿里云服务网格流量泳道的全链路流量管理(二):宽松模式流量泳道
基于阿里云服务网格流量泳道的全链路流量管理(二):宽松模式流量泳道
10888 6
|
6月前
|
负载均衡 网络协议 测试技术
使用eBPF加速阿里云服务网格ASM
服务网格下的Sidecar 代理业务服务的收发请求,并提供业务层面的流量控制(路由)、负载均衡等功能,会引入一定的Latency 延迟。 通过eBPF 技术(部署sidecar 加速组件)将同节点下两个进程间的TCP 报文进行socket 短路可以提升一定的性能,HTTP 场景下QPS 可提升15% 左右, 有效地降低业务请求的Latency 。
898 0
使用eBPF加速阿里云服务网格ASM
|
8月前
|
运维 Kubernetes Cloud Native
服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践
通过本文介绍丽迅物流关于基于阿里云服务网格 ASM 如何加速企业业务云原生化进程的实践经验。
|
8月前
|
弹性计算 人工智能 运维
阿里云serverless应用引擎2.0,正式公测!
阿里云serverless应用引擎2.0,正式公测!
243 0
|
8月前
|
运维 Kubernetes Serverless
|
8月前
|
弹性计算 Kubernetes 负载均衡
将阿里云Kubernetes容器服务中的某些服务暴露为内网路由,
将阿里云Kubernetes容器服务中的某些服务暴露为内网路由,
118 1
|
8月前
|
弹性计算 人工智能 运维
阿里云宣布 Serverless 应用引擎SAE2.0 将公测上线
7月31日,阿里云智能云原生应用平台负责人丁宇宣布,Serverless 应用引擎 SAE2.0 将于8月7日公测上线,开源版将于9月30日发布。本次升级围绕极简体验、标准开放、极致弹性三大优势展开,应用冷启动全面提效,支持缩容到 0,应用成本下降 40% 以上。
阿里云宣布 Serverless 应用引擎SAE2.0 将公测上线
|
8月前
|
人工智能 弹性计算 运维
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
66092 53