使用 Ansible 安装
使用 Ansible 安装和配置 Istio 的说明。
先决条件
执行所有必要的平台特定配置。
如果使用 OpenShift,必须满足以下先决条件。
- 最低版本:3.9.0
- oc 配置为可以访问集群
- 用户已登录到集群
- 用户在 OpenShift 上具有
cluster-admin
角色
使用 Ansible 进行部署
重要:Ansible playbook
的所有执行都必须在 Istio 的 install/kubernetes/ansible
路径中进行。
此 playbook
将在您的机器上下载并本地安装 Istio。需要在 OpenShift 上部署默认配置的 Istio,可以使用以下命令:
$ ansible-playbook main.yml
使用 Ansible 进行自定义安装
Ansible playbook
附带了合理的默认值。
目前公开的选项有:
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
cluster_flavour | 定义目标集群类型 | k8s 或 ocp | ocp |
cmd_path | 自定义 kubectl 或 oc 路径 | 到 kubectl 或 oc 二进制文件的有效路径 | $PATH/oc |
istio.auth | 使用双向 TLS 进行安装 | true 或 false | false |
istio.addon | 要安装的 Istio 插件 | 包含任何 kiali 的数组 | Istio 已经默认安装了 grafana 、prometheus 、jaeger |
istio.delete_resources | 删除 Istio namespace 下安装的资源 | true 或 false | false |
istio.samples | 包含应该安装的示例的名称的数组 | bookinfo , helloworld , httpbin , sleep | none |
默认安装
运维人员使用所有默认选项在 OpenShift 上安装 Istio:
$ ansible-playbook main.yml
可选覆盖
在某些情况下,默认值可能需要被覆盖。
以下命令描述了运维人员如何覆盖 Ansible playbook
的默认值:
运维人员在 Kubernetes 上安装 Istio:
$ ansible-playbook main.yml -e '{"cluster_flavour": "k8s"}'
运维人员在 Kubernetes 上安装 Istio 并显式指定 kubectl
的路径:
$ ansible-playbook main.yml -e '{"cluster_flavour": "k8s", "cmd_path": "~/kubectl"}'
运维人员在 Kubernetes 上安装 Istio,使用非默认配置:
$ ansible-playbook main.yml -e '{"istio": {"auth": true, "delete_resources": true}}'
运维人员在 Kubernetes 上安装 Istio,使用自定义插件:
$ ansible-playbook main.yml -e '{"istio": {"delete_resources": true, "addon": ["kiali"]}}'
运维人员在 Kubernetes 上安装 Istio 并额外部署了一些示例:
$ ansible-playbook main.yml -e '{"istio": {"samples": ["helloworld", "bookinfo"]}}'
卸载
如果需要不同版本的 Istio,请在执行 playbook
之前删除 istio-system
namespace。
这种情况下,不需要设置 istio.delete_resources
参数。
将 istio.delete_resources
设置为 true 会从集群中删除 Istio 控制平面。
为了避免任何不一致,该标志只能在集群上重新安装相同版本的 Istio 时使用。
See also
基于 GKE 的 Istio 多集群安装。
对 Google Kubernetes Engine(GKE)集群进行配置以便安装运行 Istio。
多 IBM Cloud Private 集群安装 Istio 示例。
安装支持多集群的 Istio。
这里讲述了 Istio 对 Kubernetes 中 Pod 和服务的要求。
对 Minikube 集群进行配置以便安装运行 Istio。