概述
在本文中,我们将会讲解如何进行Istio的安装。
前置工作
准备 Kubernetes 环境。
本文以 Istio 1.8.3 版本为例进行演示,建议安装 Kubernetes 的 1.16 版本。
版本说明
K8s 的版本与 Istio 的版本之间,有着对应的兼容关系,如下表所示:
Istio版本 | K8s版本 |
---|---|
1.8 | 1.16, 1.17, 1.18, 1.19 |
1.9 | 1.17, 1.18, 1.19, 1.20 |
1.10 | 1.18, 1.19, 1.20, 1.21 |
本文中,我们以 K8s 1.16 版本为例,来演示 Istio 1.8.3 的部署方案,其他版本整个部署方式类似。
StepByStep
下载
转到 Istio 发布页面 ,下载针对你操作系统的安装文件。
cd /home/work
wget https://github.com/istio/istio/releases/download/1.8.3/istio-1.8.3-linux-amd64.tar.gz
tar -zxvf istio-1.8.3-linux-amd64.tar.gz
rm -rf istio-1.8.3-linux-amd64.tar.gz
目录查看
cd ./istio-1.8.3
ls -lrt
在该目录下包含如下内容:
- 示例应用文件: samples/ 目录下。
- istioctl 客户端: bin/ 目录下。
- istio 配置相关配置文件: manifests/ 目录下。
配置
将 istioctl 客户端所在目录添加至 PATH 环境变量中:
export PATH=$PWD/bin:$PATH
或者直接添加至 ~/.bashrc 文件中:
export PATH=/home/work/istio-1.8.3/bin:$PATH
验证一下吧:
istioctl version
安装
下面,我们需要准备如下一个配置文件 istio-operator-config.yaml :
kind: IstioOperator
spec:
profile: default
tag: 1.8.3
namespace: istio-system
meshConfig:
enableTracing: false
然后执行如下安装命令即可:
istioctl install -f ./istio-operator-config.yaml
稍等片刻,就可以看到相关服务均已经正常安装成功了:
开启 Sidecar 自动注入
当Istio安装完成后,我们还可以指定一些 namespace 可以默认自动注入 Envoy Sidecar 从来实现流量代理。
例如:
kubectl create namespace istio-demo
kubectl label namespace istio-demo istio-injection=enabled
# namespace/istio-demo labeled
此时,针对 istio-demo namespace 下所有创建的 Pod 都会自动注入 Sidecar 进行流量代理。