通过 Docker 快速安装

通过 Docker Compose 快速安装和配置 Istio。

前置条件

安装步骤

  1. Istio release 页面下载与你操作系统相对应的安装文件。如果你使用了 macOS 或者 Linux 系统,你还可以运行以下命令自动下载并解压最新版本的安装文件。

    $ curl -L https://git.io/getLatestIstio | sh -
  2. 解压下载好的文件并切换到文件所在的目录。安装文件目录中包含以下内容:

    • samples/ 目录包含示例代码
    • bin/ 目录中包含 istioctl 客户端二进制文件。istioctl 用来创建路由和策略等。
    • istio.VERSION 配置文件
  3. 在你的 PATH 中添加 istioctl 客户端命令。比如,在 macOS 或者 Linux 系统中运行下面的命令:

    $ export PATH=$PWD/bin:$PATH
  4. 对于 Linux 用户,配置 DOCKER_GATEWAY 环境变量。

    $ export DOCKER_GATEWAY=172.28.0.1:
  5. 切换到 Istio 的安装目录。

  6. 启动 Istio 控制平面的容器:

    $ docker-compose -f install/consul/istio.yaml up -d
  7. 确认所有的 docker 容器都在运行:

    $ docker ps -a

    如果 Istio Pilot 容器停止了,确保运行 istioctl context-create 命令并且重复上一步骤。

  8. 使用 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 控制平面。