第四十八章 九析带你轻松完爆 Istio - Envoy 一分钟上手

网友投稿 246 2022-10-28

第四十八章 九析带你轻松完爆 Istio - Envoy 一分钟上手

系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 邀约

3 简介

4 Envoy 下载

5 Envoy 运行

6 Envoy 访问

7 Envoy 窥视

8 Envoy 修改

8.1 修改 envoy.yaml

8.2 创建新 Envoy 镜像

8.3 运行新 Envoy 镜像

8.4 访问新 Envoy 容器

1 前言

如果你对博客有任何疑问,请告诉我。

2 邀约

你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:

3 简介

本小节使你快速上手 Envoy。在使用 Envoy 前,首先需要下载并运行它。有两种方式获取 Envoy:下载编译好的二进制包;直接下载 Envoy 的学习镜像。本文使用后者。

4 Envoy 下载

使用如下语句下载 Envoy 学习镜像:

docker pull envoyproxy/envoy-dev:89d6c6c6fa202aa7a01e85d2d887b56c8a3268ad

下载成功后的截图如下所示:

5 Envoy 运行

使用如下语句运行 Envoy 学习镜像:

docker run --rm -d -p 10000:10000 envoyproxy/envoy-dev:89d6c6c6fa202aa7a01e85d2d887b56c8a3268ad

上述命令会对外开启 Envoy 监听器,监听器端口为 10000。Envoy 容器启动成功后,可以执行如下命令查看 envoy 对外暴露的端口:

6 Envoy 访问

使用如下语句来访问 Envoy 容器提供的 路由服务:

curl -v Envoy 学习镜像是将所有对该 Envoy 的 请求路由到美国一个知名的搜索引擎网站去,而这个网站你们都知道,但是一般情况下却都访问不了。

为了操作成功,需要做一定的调整,经过简单调整,你也可以对 Envoy 有比较深入的了解。

7 Envoy 窥视

执行如下语句进入到 Envoy 容器内部:

docker exec -it $(docker ps | grep -i envoy | awk '{print $1}') /bin/bash

进入到容器内部之后,执行 ps -ef 查看当前容器内部运行进程列表:

ps -ef

执行结果如下图所示:

由上图可知 Envoy 启动时的配置文件 envoy.yaml,查看该文件内容如下所示:

从上图中,我们可以看到基本 Envoy 配置包括两部分内容:

admin:管理信息。配置管理服务器static_resources: 静态配置内容。此配置包含 Envoy 启动时静态配置的所有内容,比如监听器(listener)和集群(clusters)。监听器里又配置了过滤器链(filter_chains)

结论:整个 Envoy 启动都是根据 envoy.yaml 的配置。上图配置中,Envoy 对外服务监听端口是 10000,所有 请求都路由到 gxxgle.com。

8 Envoy 修改

因为初始的学习配置,导致很多人无法成功访问的。我们可以修改 envoy.yaml 配置文件,改成路由到百度即可。

8.1 修改 envoy.yaml

执行如下语句将容器内的原始 envoy.yaml 配置文件拷贝到 docker 所在宿主机:

# 下面的 75f8e71991f2 代表运行的 envoy 容器docker cp 75f8e71991f2:/etc/envoy/envoy.yaml ./

编辑 envoy.yaml 文件如下:

route:host_rewrite: baidu.com # 31行socket_address:address: baidu.com # 49行sni: baidu.com # 55行

修改内容如下图所示:

8.2 创建新 Envoy 镜像

首先编写 Dockerfile 文件,内容如下 :

FROM envoyproxy/envoy-dev:89d6c6c6fa202aa7a01e85d2d887b56c8a3268adCOPY envoy.yaml /etc/envoy/envoy.yaml

接着执行如下语句创建镜像:

docker build -t envoy:v1 .

然后执行如下语句查看是否镜像创建成功:

docker images | grep -i envoy

8.3 运行新 Envoy 镜像

执行如下语句运行新创建的镜像:

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

8.4 访问新 Envoy 容器

执行如下语句访问新 Envoy 容器:

curl http://localhost:10000

执行效果如下图所示:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:跟着炎炎盐实践k8s---Kubernetes 1.16.10 二进制高可用集群部署之通用配置
下一篇:Java中Spock框架Mock对象的方法经验总结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~