• 通过 Docker 快速安装
    • 前置条件
    • 安装步骤
    • 部署应用
    • 卸载

    通过 Docker 快速安装

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

    前置条件

    • Docker
    • Docker Compose

    安装步骤

    • 在 Istio release 页面下载与你操作系统相对应的安装文件。如果你使用了 macOS 或者 Linux 系统,你还可以运行以下命令自动下载并解压最新版本的安装文件。
    1. $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.1 sh -
    • 解压下载好的文件并切换到文件所在的目录。安装文件目录中包含以下内容:

      • samples/ 目录包含示例代码
      • bin/ 目录中包含 istioctl 客户端二进制文件。istioctl 用来创建路由和策略等。
      • istio.VERSION 配置文件
    • 在你的 PATH 中添加 istioctl 客户端命令。比如,在 macOS 或者 Linux 系统中运行下面的命令:
    1. $ export PATH=$PWD/bin:$PATH
    • 对于 Linux 用户,配置 DOCKER_GATEWAY 环境变量。
    1. $ export DOCKER_GATEWAY=172.28.0.1:
    • 切换到 Istio 的安装目录。

    • 启动 Istio 网络控制平面的容器:

    1. $ docker-compose -f install/consul/istio.yaml up -d

    这里讲述的 Consul 的安装过程只配置了 Istio Pilot,要使用 Istio Mixer(安全策略和遥测报告 ) 或者 Istio Galley,就要完成更多的安装步骤。这部分内容已经超出了本指南的范围。

    • 确认所有的 docker 容器都在运行:
    1. $ docker ps -a

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

    • 使用 istioctl 为 Istio API server 配置端口映射:
    1. $ 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 。

    1. $ docker-compose -f <your-app-spec>.yaml up -d

    卸载

    删除 docker 容器便可卸载 Istio 核心组件:

    1. $ docker-compose -f install/consul/istio.yaml down