- 通过 Docker 快速安装
- 前置条件
- 安装步骤
- 部署应用
- 卸载
通过 Docker 快速安装
通过 Docker Compose 快速安装和配置 Istio 网络。
前置条件
- Docker
- Docker Compose
安装步骤
- 在 Istio release 页面下载与你操作系统相对应的安装文件。如果你使用了 macOS 或者 Linux 系统,你还可以运行以下命令自动下载并解压最新版本的安装文件。
$ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.1 sh -
解压下载好的文件并切换到文件所在的目录。安装文件目录中包含以下内容:
samples/
目录包含示例代码bin/
目录中包含istioctl
客户端二进制文件。istioctl
用来创建路由和策略等。istio.VERSION
配置文件
- 在你的 PATH 中添加
istioctl
客户端命令。比如,在 macOS 或者 Linux 系统中运行下面的命令:
$ export PATH=$PWD/bin:$PATH
- 对于 Linux 用户,配置
DOCKER_GATEWAY
环境变量。
$ export DOCKER_GATEWAY=172.28.0.1:
切换到 Istio 的安装目录。
启动 Istio 网络控制平面的容器:
$ docker-compose -f install/consul/istio.yaml up -d
这里讲述的 Consul 的安装过程只配置了 Istio Pilot,要使用 Istio Mixer(安全策略和遥测报告 ) 或者 Istio Galley,就要完成更多的安装步骤。这部分内容已经超出了本指南的范围。
- 确认所有的 docker 容器都在运行:
$ docker ps -a
如果 Istio Pilot 容器停止了,确保运行 istioctl context-create
命令并且重复上一步骤。
- 使用
istioctl
为 Istio API server 配置端口映射:
$ istioctl context-create --api-server http://localhost:8080
部署应用
你现在可以部署自己的应用或者 Bookinfo 中提供的示例应用。
由于在 Docker 中没有 pods 的概念,因此 Istio sidecar 需要和应用运行在同一个容器中。我们会使用 Registrator 将服务实例自动注册到 Consul 中。
应用必须使用 HTTP 1.1 或者 HTTP 2.0 协议进行 HTTP 通信,因为 Istio 不支持 HTTP 1.0 。
$ docker-compose -f <your-app-spec>.yaml up -d
卸载
删除 docker 容器便可卸载 Istio 核心组件:
$ docker-compose -f install/consul/istio.yaml down