IBM Cloud 快速入门

参照以下说明,在 IBM Cloud 上安装和运行 Istio。你可以选择安装在 IBM 公有云IBM 私有云上.

IBM 公有云

IBM 公有云中,使用 Helm 和 IBM Cloud Kubernetes Service 安装和运行 Istio。

本指南将安装 Istio 的当前发布版本。

前置条件 - IBM 公有云

初始化 Helm 和 Tiller

  • 安装 Helm CLI

  • kube-system namespace 为 Tiller 创建一个 Service account,以及一个与 pod tiller-deploy 绑定的 Kubernetes RBAC 集群角色:

  1. apiVersion: v1
  2. kind: ServiceAccount
  3. metadata:
  4. name: tiller
  5. namespace: kube-system
  6. ---
  7. apiVersion: rbac.authorization.k8s.io/v1
  8. kind: ClusterRoleBinding
  9. metadata:
  10. name: tiller
  11. roleRef:
  12. apiGroup: rbac.authorization.k8s.io
  13. kind: ClusterRole
  14. name: cluster-admin
  15. subjects:
  16. - kind: ServiceAccount
  17. name: tiller
  18. namespace: kube-system
  • 执行创建 Service account 并绑定集群角色:
  1. $ kubectl create -f rbac-config.yaml
  • 初始化 Helm 并安装 Tiller:
  1. $ helm init --service-account tiller
  • 将 IBM Cloud 的 Helm 仓库地址添加到你的 Helm 实例:
  1. $ helm repo add ibm-charts https://registry.bluemix.net/helm/ibm-charts

部署 Istio Helm chart

  • 如果使用 2.10.0 之前的 Helm 版本,请通过 kubectl apply 命令安装 Istio 的 CRD,并等待几秒钟:
  1. $ kubectl apply -f https://raw.githubusercontent.com/IBM/charts/master/stable/ibm-istio/templates/crds.yaml
  • 在你的集群中安装 Helm chart:
  1. $ helm install ibm-charts/ibm-istio --name=istio --namespace istio-system
  • 确保 Istio 的 9 个 Pod 和 Prometheus 的 pod 已经完全部署好:
  1. $ kubectl get pods -n istio-system
  2. NAME READY STATUS RESTARTS AGE
  3. istio-citadel-748d656b-pj9bw 1/1 Running 0 2m
  4. istio-egressgateway-6c65d7c98d-l54kg 1/1 Running 0 2m
  5. istio-galley-65cfbc6fd7-bpnqx 1/1 Running 0 2m
  6. istio-ingressgateway-f8dd85989-6w6nj 1/1 Running 0 2m
  7. istio-pilot-5fd885964b-l4df6 2/2 Running 0 2m
  8. istio-policy-56f4f4cbbd-2z2bk 2/2 Running 0 2m
  9. istio-sidecar-injector-646655c8cd-rwvsx 1/1 Running 0 2m
  10. istio-statsd-prom-bridge-7fdbbf769-8k42l 1/1 Running 0 2m
  11. istio-telemetry-8687d9d745-mwjbf 2/2 Running 0 2m
  12. prometheus-55c7c698d6-f4drj 1/1 Running 0 2m

升级

  • 将你的 Istio Helm chart 升级到最新版本:
  1. $ helm upgrade -f config.yaml istio ibm/ibm-istio

卸载 Istio

  • 卸载 Istio 的 Helm 部署:
  1. $ helm del istio --purge

如果你的 Helm 版本低于 2.9.0,那么在重新部署新版本的 Istio Chart 之前,您需要手动清理额外的 Job 资源:

  1. $ kubectl -n istio-system delete job --all
  • 如果需要,删除 Istio CRD:
  1. $ kubectl delete -f https://raw.githubusercontent.com/IBM/charts/master/stable/ibm-istio/templates/crds.yaml

IBM 私有云

使用 Catalog 模块在 IBM 私有云安装和运行 Istio。

本指南将安装 Istio 的当前发布版本。

前置条件 - IBM 私有云

  • 你需要有一个可用的 IBM 私有云集群。否则,你可以参照安装 IBM 私有云的指引创建一个 IBM 私有云集群。

使用 Catalog 模块部署 Istio

  • 登录到 IBM 私有云 控制台。
  • 点击导航栏右侧的 Catalog
  • 点击搜索框右侧的 Filter 并选中 ibm-charts 复选框。
  • 点击左侧导航窗格的 Operations

IBM 私有云 - Istio 目录

IBM 私有云 - Istio 目录
  • 点击右侧面板中的 ibm-istio

IBM 私有云 - Istio 目录

IBM 私有云 - Istio 目录
  • (可选的)使用 CHART VERSION 的下拉功能修改 Istio 版本。
  • 点击 Configure 按钮。

IBM 私有云 - 安装 Istio

IBM 私有云 - 安装 Istio
  • 输入 Helm 部署实例的名称(例如:istio-1.0.3),并选择 istio-system 作为目标 namespace。
  • 同意许可条款。
  • (可选的)点击 All parameters 自定义安装参数。
  • 点击 Install 按钮。

IBM 私有云 - 安装 Istio

IBM 私有云 - 安装 Istio

安装完成后,你可以在 Helm Releases 页通过搜索实例名找到它。

IBM 私有云 - 安装 Istio

IBM 私有云 - 安装 Istio

升级或回滚

  • 登录到 IBM 私有云控制台。
  • 点击导航栏左侧的菜单按钮。
  • 点击 Workloads 并选中 Helm Releases
  • 通过实例名找到已安装的 Istio。
  • 点击 Action 然后选择 upgraderollback

IBM 私有云 - Istio 升级或回滚

IBM 私有云 - Istio 升级或回滚

IBM 私有云 - Istio 升级或回滚

IBM 私有云 - Istio 升级或回滚

卸载

  • 登录到 IBM 私有云控制台。
  • 点击导航栏左侧的菜单按钮。
  • 点击 Workloads 并选中 Helm Releases
  • 通过实例名找到已安装的 Istio。
  • 点击 Action 并选择 delete

IBM 私有云 - 卸载 Istio

IBM 私有云 - 卸载 Istio