通过 Docker 快速安装
通过 Docker Compose 快速安装和配置 Istio。
前置条件
安装步骤
在 Istio release 页面下载与你操作系统相对应的安装文件。如果你使用了 macOS 或者 Linux 系统,你还可以运行以下命令自动下载并解压最新版本的安装文件。
$ curl -L https://git.io/getLatestIstio | 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
确认所有的 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
See also
基于 Consul 和 Nomad 安装 Istio 控制平面。