Ambassador和Istio:边缘代理和服务网格

Posted ServiceMesh中文网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ambassador和Istio:边缘代理和服务网格相关的知识,希望对你有一定的参考价值。

翻译:王斌

原文:Ambassador and Istio: Edge proxy and service mesh


Ambassador(https://www.getambassador.io)是一个 Kubernetes 原生的微服务 API 网关,它部署在网络边缘,将传入网络的流量路由到相应的内部服务(也被称为“南北”流量)。Istio 是微服务的服务网格,旨在将L7的可观察性、路由和弹性加入到从服务到服务的流量中(也被称为“东西”流量)。 Istio 和 Ambassador底层都使用了 Envoy

Ambassador 和 Istio 可以一起部署在 Kubernetes 上。在这种部署方式下,来自集群外部的入站流量首先会经过 Ambassador,再由 Ambassador将流量路由到 Istio。Ambassador 主要处理认证、边缘路由、TLS终结,以及一些传统的边缘功能。

这种部署方式能让运维人员得到一个高性能、现代化的边缘服务(Ambassador)与最先进的服务网格(Istio)相结合的网络。虽然 Istio 本身就有一个基本入口控制器,但其功能非常有限,并且不支持身份验证以及 Ambassador所拥有的许多功能。



AmbassadorIstio 协同工作

要让 Ambassador 与 Istio 协同工作其实很简单,我们以 Istio 的bookinfo示例来举个例子:


1. 首先,在 Kubernetes 上安装 Istio。

参考指南:https://istio.io/docs/setup/kubernetes/quick-start.html

2. 然后,安装 Bookinfo 示例应用。

参考指南:https://istio.io/docs/guides/bookinfo.html

3. 验证示例是否按预期正常工作。


Bookinfo 示例默认使用的是 Istio 的入口控制器,要使用 Ambassador,我们还需要进行以下操作:

1. 安装Ambassador。

参考指南:https://www.getambassador.io/user-guide/getting-started

2. 更新 bookinfo.yaml 清单以包含必要的Ambassador注解,操作如下:


apiVersion: v1
kind: Service
metadata:
  name: productpage
  labels:
    app: productpage
  annotations:
    getambassador.io/config: |
       ---
      apiVersion: ambassador/v0
      kind: Mapping
      name: productpage_mapping
      prefix: /productpage/
      rewrite: /productpage
      service: productpage:9080
spec:
  ports:
  - port: 9080
    name: http
  selector:
    app: productpage


  • 输入kubectl delete ingress gateway命令,这将会删除 bookinfo.yaml 清单中的入口控制器。此步骤为可选。




Sidecar注入

新版本的 Istio 支持 Kubernetes 初始化程序自动注入Istio Sidecar。有了Ambassador,你不再需要注入Istio Sidecar,因为 Ambassador 的 Envoy 实例将自动路由到相应的服务。如果你正在使用的是自动Sidecar注入方式,那么需要将 Istio 配置成不要自动为 Ambassador pods 注入Sidecar。具体操作方法可以参阅这份说明文档

文档链接:https://istio.io/docs/setup/kubernetes/sidecar-injection.html#configuration-options

点击阅读原文,即可查看文档





推荐阅读








活动推荐:

1月27日,数人云Building Microservice系列沙龙活动,第一期深圳站 《Cloud Native架构下的K8S和微服务实践》,报名倒计时两周啦。


扫码即可报名



ServiceMesh中文社区:

ServiceMesh中文社区(servicemesh.cn)已上线,Istio、Conduit官方文档翻译版已在社区发布,欢迎大家登录浏览


ServiceMesh微信交流群:


以上是关于Ambassador和Istio:边缘代理和服务网格的主要内容,如果未能解决你的问题,请参考以下文章

Istio 大入门 — Egress Gateway

云原生深度比较OSM和Istio

云原生深度比较OSM和Istio

Istio与SpringCloud对比

Istio Sidecar 注入过程解密

Istio架构