20、K8s实战:ServiceMesh之通过ambassador对部署在Kubernetes的gRPC服务进行负载均衡

一、前言

ambassdor是一款支持Kubernetes原生服务的API网关,它很好的补充了Ingress Nginx所不支持的流控、灰度、认证、授权等网关必备的功能。

ambassdor的数据平面是基于envoy proxy构建的,但是除了作为API网关,还可以成为Kubernetes的Ingress,原因就在于ambassdor的控制面负责监听k8中的service资源的变化,并将配置下发envoy,实际的流量转发通过envoy来完成。另外,ambassdor的控制面使用Kubernetes的etcd存储它的状态。

*

转载自https://blog.csdn.net/cloudvtech

二、安装ambassador

参看文档:

https://www.getambassador.io/docs/latest/tutorials/getting-started/ (v1.5)

*

2.1 部署

对aes.yaml进行如下修改:

暴露ambassdor的数据面80和443接口为32080和32443:

apiVersion: v1
kind: Service
metadata:
  name: ambassador
  namespace: ambassador
  labels:
    product: aes
    app.kubernetes.io/component: ambassador-service
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    targetPort: http
    nodePort: 32080
  - name: https
    port: 443
    targetPort: https
    nodePort: 32443
  selector:
    service: ambassador

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: