Istio 安装

Istio 官方推荐使用 Helm 来安装,Istio 中的很多组件都可以选择安装或开启,因此 Helm chart 也是组合式的,下载 Istio 安装包arrow-up-right后解压可以看到 install/kubernetes/helm/istio 目录下的 Helm chart 配置文件,参考 使用 Helm 进行安装arrow-up-right

Istio 的 helm chart

下图是 Istio Helm Chart 的配置大全,通过给不同的组件使用不同的着色给大家一个直观的体验。

Istio Helm Chart Cheatsheet(原图来自沈旭光)

上图可以通过 Google docarrow-up-right 下载电子表格。

Istio 的安装文件中包括如下几个子 chart。

  • ingress

  • ingressgateway

  • egressgateway

  • sidecarInjectorWebhook

  • galley

  • mixer

  • pilot

  • security(citadel)

  • grafana

  • prometheus

  • servicegraph

  • tracing(jaeger)

  • kiali

所有的这些子 Chart 都可以通过 YAML 配置中的 enabled 标志选择性的开启,具体配置方法请参考安装包解压后的 install/kubernetes/helm/istio/README.md 文件。

使用 Helm 安装 Istio

因为使用单个 YAML 文件安装 Istio 的可读性很低(动辄上万行的 YAML 文件),从 Istio 1.0 以后版本起,官方推荐使用 Helm 来安装 Istio,不过在 Istio 的安装包中仍提供直接可用的 YAML 文件,用户也可以使用 helm template 生成独立的 YAML 文件。

下面我们说明如何使用在安装有 tiller 的 Kubernetes 集群中使用 Helm 安装 Istio。

安装 Helm

在本文发表时,Helm 最新的稳定版本为 v2.11.0,本文假设您已经有一个 Kubernetes 集群,Helm 的详细安装步骤请参考 Helm 官方文档arrow-up-right,下面简述了 Helm 的安装步骤。

1. 下载安装包

您可以从 Helm releasearrow-up-right 页面下载对应操作系统的安装包,以 Mac 系统为例,选择下载 MacOS amd64 的安装包。

2. 安装 helm

下载后解压出 helm 可执行文件,将其移动到您的 $PATH 路径下。

3. 设置 RBAC

因为 tiller 将于 Kubernetes API Server 通信,需要相应的角色和权限,需要设置 RBAC。

4. 安装 tiller

执行 helm init 安装 tiller,默认将从 gcr.io 下载 tiller 的镜像,若需要指定特定的镜像仓库可以使用如下面的命令:

5. 检查安装是否完成

若没有看到报错信息则表示安装完成。

安装 Istio

Istio releasearrow-up-right 页面下载与您的操作系统对应的安装包,解压之后将 bin/istioctl 移动到您的 $PATH 目录下。

然后使用 helm 命令安装 Istio。

Istio 将被安装到 istio-system 的 namespace 下。

Istio 中的 CRD

安装完 Istio 后我们再查看下 Istio 创建的与网络相关的 Kubernetes CRD(自定义资源类型),请参考使用自定义资源扩展 API。Istio 创建的所有的 Kubernetes CRD 可以这样查看。

你将会看到 50 个 CRD,其实要想了解 Istio 控制平面是怎样工作的,只需要了解这 50 个 CRD 是怎么工作的即可,很遗憾目前 Istio 还没有推出 API 文档。根据 API 的域名看到所有的 CRD 分为四类。

  • authentication:策略管控

  • config:配置分发与遥测

  • networking:流量管理

  • rbac:基于角色的访问控制

详细列表如下:

从中可以看出 config 类型的 CRD 是最多的,这是因为在 Mixer 中有众多的 adapter 导致,几十个 adapter 分别创建自己的适配器来对接基础设施后端。

CRD 的详细分类和用途如下图所示。

Istio CRD Cheatsheet(原图来自沈旭光)

上图可以通过 Google docarrow-up-right 下载电子表格。

参考

最后更新于