istio简介和安装

什么是istio

在谈istio之前,我们先搞清楚一个概念,那就是服务网格(Service Mesh),服务网格是什么呢? 按我自己个人的理解,服务网格就是一个基础环境,协调搭载在它上面的应用的不同部分进行工作,同时还可通过服务网格的一系列策略来控制部署在服务网格上的应用,如:流量治理,入口网关,出口网关,熔断,故障注入,超时等,另外,通过服务网格的各种监控指标数据,还可以实时监控应用的运行情况,对应用发生故障进行定位和排查,服务网格提供了很多方式,如:流量镜像,调用链,吞吐量等,CPU利用率,内存利用率等。

Istio 是一个开放的、与平台无关的服务网格,提供了流量管理,策略下发,和远程收集能力。 开放:Istio 是作为一个开源软件来开发和管理的。 平台无关:Istio目前支持Kubernetes的部署环境

Istio 的设计目标是管理微服务间和应用程序间的通信问题。而不用修改底层服务,Istio 针对所有服务之间的通信提供了自动的基线流量弹性,服务指标收集,分布式追踪,流量加密,协议升级和高级路由功能。

下载安装包

访问地址:https://github.com/istio/istio/releases,可以看到有很多版本可供下载

我的下载地址

点我下载istio1.13.4版本

具体下载哪个版本通过自己安装的系统的架构进行选择,选择自己需要的版本进行下载,下载哪个版本可以通过命令查看自己的操作系统支持的是什么类型的

[root@node141 sleep]# arch
x86_64

复制

我本机的架构是x86_64,所以我选择的是amd64的安装包,还有其他架构的需要选择相应的安装包即可。

架构安装包
x86_64amd64

配置环境变量

解压istio压缩包到opt

tar -zxvf istio-1.13.4-linux-amd64.tar.gz -C /opt

复制

把istio解压后的bin目录添加到环境变量PATH中

cat >> ~/.bash_profile << EOF
> export PATH=$PATH:/opt/istio-1.13.4/bin
> EOF

复制

添加完执行如下命令应用生效

source ~/.bash_profile

复制

检测结果

$ istioctl version
client version: 1.6.14
control plane version: 1.6.14
data plane version: 1.6.14 (9 proxies)

复制

安装istio

执行命令安装istio环境前,需要确认环境是否已经准备就绪,Kubernetes环境是否已经安装好

defaultdemominimalremote
Core components
–>istio-egressgatewayX
–>istio-ingressgatewayXX
–>istiodXXX
Addons
–>grafanaX
–>istio-tracingX
–>kialiX
–>prometheusXXX

根据官方提供的,只有配置为demo的才具备网格的全部能力,这里我们安装demo环境

$ istioctl install --set profile=demo
✔ Istio core installed 
✔ Istiod installed 
✔ Egress gateways installed 
✔ Ingress gateways installed 
✔ Addons installed 
✔ Installation complete

复制

如果你在安装过程中失败,则重新执行上述命令,只到成功为止,失败原因主要是网络问题,或者你可以通过命令

$ kubectl get pod -n istio-system

复制

输出结果如下:

如果istio-system命名空间下的所有pod都处于running状态,则表示istio已经安装完成了

设置命令自动完成

istio提供了命令自动完成的工具,在istio的解压目录下有个tools目录,进入tools目录执行

$ source istioctl.bash

复制

然后你就可以通过在终端输入istioctl 然后按两下tab键显示istioctl支持的命令,如果这样还不生效,或者有错误提示,则应该先安装命令自动提示包

yum install -y bash-completion
source /usr/share/bash-completion/bash_completion

source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

复制

安装istio文档到本地

由于istio官网的文档访问速度实在太慢,所以我们可以考虑下载istio文档到本地,部署到nginx上,通过本地直接访问,这样速度提升非常快 访问官网:https://preliminary.istio.io/latest/docs/releases/contribute/build/ 按照官网的说明来一步一步操作即可。或者访问github地址:https://github.com/istio/istio.io/tree/master/archive 进行下载,下载后的文档直接放到本地的nginx的html目录下就可以访问了

发表评论

后才能评论