安装Istio

1、环境介绍

image-20200116144218255

2、运行以下命令来自动下载并解压缩最新版本:

1
curl -L https://istio.io/downloadIstio | sh -

说明:由于k8s集群是1.21.0版本,这里使用的是istio最新测试版本

3、安装目录包含:

  • samples/ 目录下的示例应用程序
  • bin/ 目录下的 istioctl 客户端二进制文件

4、设置环境变量

1
2
3
4
5
6
7
8
9
10
11
12
cd cd istio-1.10.0-rc.1/
export PATH=$PATH:$PWD:/bin

vim tools/istioctl.bash
PWD=/root/istio-1.10.0-rc.1
export PATH=$PATH:$PWD/bin

cp tools/istioctl.bash /root/
vim /root/.bash_profile
source ~/istioctl.bash

source ~/.bash_profile

5、安装demo配置文件

  1. default: 根据默认的安装选项启用组件 (建议用于生产部署)。
  2. demo: 这一配置具有适度的资源需求,旨在展示 Istio 的功能。它适合运行 Bookinfo 应用程序和相关任务。
  3. minimal: 使用 Istio 的流量管理功能所需的最少组件集。
  4. sds: 和 default 配置类似,但是启用了 Istio 的 SDS (secret discovery service) 功能。 这个配置文件默认启用了附带的认证功能 (Strict Mutual TLS)。

image-20210513155002143

1
istioctl install --set profile=demo -y

image-20210513145557351

备注:这里有的镜像可能拉不下来,需要自己想办法,等待时间可能有点长

6、通过确保已部署以下Kubernetes服务来验证安装

1
2
kubectl get pod -n istio-system
kubectl get svc -n istio-system

说明:由于自建集群没有lb,所以会ingressgateway会处于pending状态,改成NodePort即可

image-20210513145858343

7、卸载会删除RBAC权限,istio-system名称空间以及它下面的层次结构中的所有资源

1
istioctl manifest generate --set profile=demo | kubectl delete -f -