通过 Docker 快速安装

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

前置条件

安装步骤

  • Istio release 页面下载与你操作系统相对应的安装文件。如果你使用了 macOS 或者 Linux 系统,你还可以运行以下命令自动下载并解压最新版本的安装文件。
  1. $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.2.2 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

相关内容

安装

基于 Consul 和 Nomad 安装 Istio 控制平面。