文档章节

Envoy集群服务总线入门指南

openthings
 openthings
发布于 2018/06/02 11:46
字数 788
阅读 1147
收藏 1

Envoy集群服务总线入门指南

Envoy是专为大型现代 SOA(面向服务架构)架构设计的 L7 代理和通信总线。

Envoy 目前不提供单独的预先编译好的二进制文件,但提供了 Docker 镜像。这是开始使用 Envoy 的最快方式。如果您希望在 Docker 容器外使用 Envoy,则需要构建它

这些示例使用 v2 Envoy API,但仅使用 API 的静态配置功能,这对于简单的需求非常有用。 更复杂的需求是由动态配置来支持的。

快速开始运行简单示例

根据 Envoy 存储库中的文件运行这些命令。下面的部分给出了配置文件和执行步骤更详细的解释。

configs/google_com_proxy.v2.yaml 中提供了一个非常简单的可用于验证基于纯 HTTP 代理的 Envoy 配置。 这不表示实际的 Envoy 部署:

$ docker pull envoyproxy/envoy:latest
$ docker run --rm -d -p 10000:10000 envoyproxy/envoy:latest
$ curl -v localhost:10000

使用的 Docker 镜像将包含最新版本的 Envoy 和一个基本的 Envoy 配置。此基本配置告诉 Envoy 将入站请求路由到 *.google.com。

简单的配置

Envoy 通过 YAML 文件中传入的参数来进行配置。

admin message 是 administration 服务必须的配置。address 键指定监听地址,下面的例子监听地址是 0.0.0.0:9901。

admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: 0.0.0.0, port_value: 9901 }

static_resources 包含 Envoy 启动时静态配置的所有内容,而不是 Envoy 在运行时动态配置的资源。v2 API Overview 描述了这一点。

static_resources:

listeners 规范

listeners:
- name: listener_0
  address:
    socket_address: { address: 0.0.0.0, port_value: 10000 }
  filter_chains:
  - filters:
    - name: envoy.http_connection_manager
      config:
        stat_prefix: ingress_http
        codec_type: AUTO
        route_config:
          name: local_route
          virtual_hosts:
          - name: local_service
            domains: ["*"]
            routes:
            - match: { prefix: "/" }
              route: { host_rewrite: www.google.com, cluster: service_google }
        http_filters:
        - name: envoy.router

clusters 规范

clusters:
- name: service_google
  connect_timeout: 0.25s
  type: LOGICAL_DNS
  # Comment out the following line to test on v6 networks
  dns_lookup_family: V4_ONLY
  lb_policy: ROUND_ROBIN
  hosts: [{ socket_address: { address: google.com, port_value: 443 }}]
  tls_context: { sni: www.google.com }

使用 Envoy Docker 镜像

创建一个简单的 Dockerfile 来执行 Envoy,假定 envoy.yaml(如上所述)位于本地目录中。您可以参考命令行选项

FROM envoyproxy/envoy:latest
COPY envoy.yaml /etc/envoy/envoy.yaml

使用以下命令构建您配置的 Docker 镜像:

$ docker build -t envoy:v1

现在您可以执行它:

$ docker run -d --name envoy -p 9901:9901 -p 10000:10000 envoy:v1

最后测试使用:

$ curl -v localhost:10000

如果您想通过 docker-compose 使用 envoy,则可以使用 volume 覆盖提供的配置文件。

Sandbox

我们使用 Docker Compose 创建了许多 sandbox ,这些 sandbox 设置了不同的环境来测试 Envoy 的功能并显示示例配置。 当我们觉得人们更有兴趣时,将添加和展示更多不同特征的 sandbox。 以下 sandbox 可用:

其他用例

除代理本身之外, Envoy 还被几个特定用例捆绑为开源发行版的一部分。

本文转载自:https://servicemesher.github.io/envoy/intro/what_is_envoy.html

openthings
粉丝 322
博文 1138
码字总数 687611
作品 1
东城
架构师
私信 提问
Envoy 作为 Kubernetes 的 API 网关

Envoy 作为 Kubernetes 的 API 网关 本文来源-https://servicemesher.github.io/envoy/start/distro/ambassador.html 使用 Ambassador 的一个常见场景是将其部署为 Kubernetes 的 edge 服务(......

openthings
2018/06/19
255
0
《Istio官方文档》Pilot

原文链接  译者:carvendy Pilot(领航员)   Pilot负责Envoy实例在Istio网格服务部署的生命周期。   在上图中的图形,Pilot在服务网格中有着权威的服务代表,而服务网格依赖着底层平台。...

魔术师Carvendy
2018/01/08
0
0
《Istio官方文档》Pilot

《Istio官方文档》Pilot 并发编程网 – ifeve.com2018-01-080 阅读 JAVAservice 原文链接 译者:carvendy Pilot(领航员) Pilot负责Envoy实例在Istio网格服务部署的生命周期。 在上图中的图形,...

并发编程网 – ifeve.com
2018/01/08
0
0
Kubernetes上的服务网格 Istio - 分布式追踪篇

微服务架构将复杂系统切分若干小服务,每个服务可以被独立地开发、部署和伸缩;微服务架构和容器(Docker/Kubernetes)是天作之合,可以进一步简化微服务交付,加强整体系统的弹性和健壮性。...

易立
2017/12/12
0
0
《Istio官方文档》Kubernetes-Istio网格扩展

Istio网格扩展 将虚拟机和裸机主机集成到部署在Kubernetes上的Istio网格中的说明如下。 先决条件 按照安装指南中的说明在Kubernetes上安装Istio 。 机器必须具有到网格中节点的IP连接。这通常...

萍韵众生
2018/01/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vps管理程序win和Linux都有啥推荐?

如果你的手上有多台Windows的vps推荐您用iis7远程桌面管理工具,但是今天着重说一下linux vps需要管理,那有没有一个免费的工具监控在线率、CPU、内存、网络等使用情况并以网页的形式反馈出来...

1717197346
11分钟前
2
0
Java调用以太坊智能合约

Web3j让Java开发者可以轻松地访问以太坊区块链并调用区块链上的智能合约的方法,在本教程中,我们将学习如何创建一个简单的命令行应用来访问区块链上的合约。 1、什么是web3j Web3j是一个开发...

汇智网教程
15分钟前
2
0
从零开始入门 K8s| 阿里技术专家详解 K8s 核心概念

作者| 阿里巴巴资深技术专家、CNCF 9个 TCO 之一 李响 一、什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译...

阿里云官方博客
18分钟前
3
0
微信加好友 通过初始wxid,恢复好友聊天记录

一、聊天记录恢复以及怎么获得用户的wxid 聊天记录网上很多方法、前提是你没有点击微信设置里面的清除聊天记录 单单是删除了与这个人对话 记录还是会存在的 之前我用的是楼月的微信聊天恢复助...

青峰Jun19er
20分钟前
3
0
鲲鹏发力,神秘中国架构现世,ZStack搭上了国产化的高铁?

以下文字来自ZStack社区用户,ZStack作为国产自研的开源云平台,感谢在国产化道路上大家一直以来的支持,接下来也请大家继续指教,ZStack也会坚持初心,抗好国产化的大旗。 鲲鹏这两天挺火的...

ZStack社区版
27分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部