总目录索引:istio 从入门到放弃系列

1、环境介绍

istioctl  version

image-20200331154507350.png

2、下载新版istio

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.5.0 sh -

tar xvf istio-1.5.0-linux.tar.gz

istio升级到1.5.0_第1张图片

3、设置istio环境变量

echo $PATH

image-20200331161928578.png

所以首先需要通过如下命令进行删除:

export PATH=`echo $PATH | sed -e 's/:\/root\/istio\/istio-1.4.5\/bin//g'`

将新版本 istioctl 路径添加到系统环境路径中:

cd istio-1.5.0

export PATH=$PATH:$PWD/bin

istioctl version

image-20200331162527214.png

4、设置 istio 自动补全功能

vim  istio-1.5.0/tools/istioctl.bash    #添加

PWD=/root/istio/istio-1.5.0

export PATH=$PATH:$PWD/bin

将 istio 安装包 tools 目录下的 istioctl.bash 拷贝到用户根目录下:

cp istio-1.5.0/tools/istioctl.bash ~

编辑 ~/.bash_profile 文件,在文件末尾添加如下内容:

source /root/.istioctl.bash

 添加完毕后,加载配置使之生效:

source ~/.bash_profile

然后输入 istioctl 然后按两次 tab 键,发现自动补全功能已经生效:

image-20200331170137117.png

5、验证新版本 istio 是否兼容老版本

istioctl manifest versions

istio升级到1.5.0_第2张图片

6、创建升级配置文件

istioctl upgrade 命令不支持 --set 选项,因此,如果前期在安装的时候使用了 --set 选项,那么在升级时需要创建一个等效的配置选项文件。使用如下命令创建 profile 为 demo 的等效配置文件:

istioctl profile dump demo > demo.yaml

vim  demo.yaml

jwtPolicy: third-party-jwt  --> jwtPolicy: first-party-jwt    #更换成

istio升级到1.5.0_第3张图片

7、升级istio

执行如下命令来升级 istio:

istioctl upgrade -f demo.yaml

istio升级到1.5.0_第4张图片

成功升级后

istio升级到1.5.0_第5张图片

再次执行 istioctl version

image-20200401112703056.png

8、重设数据平面

从上面的截图中,其实可以发现一个端倪,就是 data plane version 有一个 proxy 仍是 1.4.5。产生这样的原因是我在升级 istio 版本前就已经手工注入了二个 deployment,现在需要重置原有数据平面。执行如下命令重置原有被注入的 tomcat  deployment:

istioctl kube-inject -f test.yml | kubectl apply -f -

image-20200401113047712.png

再次执行 istioctl version 命令发现客户端、数据面、控制面的版本都更新到了最新的状态

image-20200401113647231.png