此处的Istio在Kubernetes环境下进行安装部署,部署时采用Helm工具进行,Helm客户端部署在Windows操作中。
1. 前置要求
在部署Istio之前,需要具备下面的条件:
- 已有Kubernetes集群环境,此处的Kubernetes的版本为15.4;
- 以在Kubernetes集群环境中部署和提供了kubectl和helm工具。
2. 添加istio到Helm仓库
通过执行下面的命令,将istio添加到helm仓库中:
$ helm repo add istio.io https://storage.googleapis.com/istio-release/releases/1.3.2/charts/
3. 下载Istio
当前的Istio发布版本为1.3.2,在浏览器中地址栏中输入地址:https://github.com/istio/istio/releases/tag/1.3.2,浏览器会进入Istio 1.3.2发布版本的下载地址。
在此页面中,根据Helm客户端所使用的操作系统选择合适的安装介质,此处选择istio-1.3.2-win.zip。下载此文件,并将其解压缩到本地。
4. Istio部署安装
在Istio下载完成后,通过下面的步骤进行Istio的安装:
- 通过执行下面的命令,在Kubernetes集群中创建istio-system命名空间:
$ kubectl create namespace istio-system
- 安装istio-init chart,以启动所有istio 自定义的资源:
$ helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
- 通过执行下面的命令在Kubernetes中安装部署istio:
$ helm install install/kubernetes/helm/istio --name istio --namespace istio-system
5. istio控制台Naftis
5.1 Naftis简介
在本方案中,采用小米开源的Naftis作为istio的控制台,Naftis 是一个基于 web 的 Istio dashboard,通过任务模板的方式来帮助用户更方便地执行 Istio 任务。用户可以在 Naftis 中定义自己的任务模板,并填充变量来构造单个或多个构造任务实例,从而完成各种服务治理功能。Naftis的核心功能特性如下:
- 内部集成了一些常用 dashboard;
- 可定制的任务模板支持;
- 支持回滚指定任务;
- 支持指定根服务节点的服务拓扑图;
- 支持查看 Istio相关的Services和Pod。
5.1. Naftis安装部署
通过下面的步骤安装和不受Naftis:
- 下载最新 Naftis发布版本,此处下载的版本为1.4-rc6版本。
下载manifest.tar.gz文件,并将其解压缩到本地:
- 在Kubernetes集群中创建 Naftis 命名空间:
$ kubectl create namespace naftis
- 在Kubernetes集群中部署 Naftis MySQL 服务
$ kubectl apply -n naftis -f mysql.yaml
- 在Kubernetes中部署 Naftis API 和 UI 服务
kubectl apply -n naftis -f naftis.yaml
- 将Naftis ui的Pod的端口转发到kubectl所在的机器上,允许通过本地访问 Naftis:
kubectl -n naftis port-forward pod/naftis-ui-9d66dbc74-9swq4 8080:80
5)访问Naftis:
打开浏览器,访问 http://127.0.0.1:8080 即可。默认用户名和密码分别为 admin、admin。
作者简介:
季向远,北京神舟航天软件技术有限公司产品经理。本文版权归原作者所有。