华为云

遵循以下说明配置华为云容器引擎 CCE 集群以便安装运行 Istio。 您可以在华为云的云容器引擎控制台中快速简单地部署一个完全支持 Istio 的 Kubernetes 集群。

华为提供了一个managed control plane插件用于华为云容器引擎 CCE, 您可以使用这个插件来代替手动安装 Istio。有关详细信息和操作说明, 请参阅华为应用服务网格

遵循华为云操作说明准备一个集群,然后继续以下步骤手动安装 Istio:

  1. 登录到 CCE 控制台。选择 Dashboard > 购买集群打开购买混合集群页面。 打开此页面的另一个方法是在导航窗格中选择资源管理 > 集群,然后点击混合集群旁边的购买

  2. 配置集群页面上,配置集群参数。在以下示例中,大多数参数保留默认值。集群配置完成后, 点击下一步创建节点以转到节点创建页面。

    Istio 对 Kubernetes 版本有一些要求,请根据 Istio 的支持策略选择版本。

    下图显示了您创建和配置集群的 GUI:

    配置集群

    配置集群

  3. 在节点创建页面上,配置以下参数。

    Istio 凭借经验增加了一些附加的资源耗用量,起步保留至少 4 个 vCPU 和 8 GB 内存。

    下图显示了您创建和配置节点的 GUI:

    配置节点

    配置节点

  4. 配置 kubectl

  5. 现在您可以遵照安装指南在 CCE 集群上安装 Istio。

  6. 配置 ELB 以暴露 Istio 入口网关(如果需要)。

    • 创建弹性负载均衡器

    • 绑定 ELB 实例到 istio-ingressgateway 服务

      将 ELB 实例 ID 和 loadBalancerIP 设为 istio-ingressgateway

  1. $ kubectl apply -f - <<EOF
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5. annotations:
  6. kubernetes.io/elb.class: union
  7. kubernetes.io/elb.id: 4ee43d2b-cec5-4100-89eb-2f77837daa63 # ELB ID
  8. kubernetes.io/elb.lb-algorithm: ROUND_ROBIN
  9. labels:
  10. app: istio-ingressgateway
  11. install.operator.istio.io/owning-resource: unknown
  12. install.operator.istio.io/owning-resource-namespace: istio-system
  13. istio: ingressgateway
  14. istio.io/rev: default
  15. operator.istio.io/component: IngressGateways
  16. operator.istio.io/managed: Reconcile
  17. operator.istio.io/version: 1.9.0
  18. release: istio
  19. name: istio-ingressgateway
  20. namespace: istio-system
  21. spec:
  22. clusterIP: 10.247.7.192
  23. externalTrafficPolicy: Cluster
  24. loadBalancerIP: 119.8.36.132 ## ELB EIP
  25. ports:
  26. - name: status-port
  27. nodePort: 32484
  28. port: 15021
  29. protocol: TCP
  30. targetPort: 15021
  31. - name: http2
  32. nodePort: 30294
  33. port: 80
  34. protocol: TCP
  35. targetPort: 8080
  36. - name: https
  37. nodePort: 31301
  38. port: 443
  39. protocol: TCP
  40. targetPort: 8443
  41. - name: tcp
  42. nodePort: 30229
  43. port: 31400
  44. protocol: TCP
  45. targetPort: 31400
  46. - name: tls
  47. nodePort: 32028
  48. port: 15443
  49. protocol: TCP
  50. targetPort: 15443
  51. selector:
  52. app: istio-ingressgateway
  53. istio: ingressgateway
  54. sessionAffinity: None
  55. type: LoadBalancer
  56. EOF

通过尝试完成各种任务开始使用 Istio。