Huawei Cloud

Follow these instructions to prepare a cluster for Istio using the Huawei Cloud Container Engine. You can deploy a Kubernetes cluster to Huawei Cloud quickly and easily in the Cloud Container Engine Console, which fully supports Istio.

Following the Huawei Cloud Instructions to prepare a cluster before manually installing Istio, proceed as follows:

  1. Log in to the CCE console. Choose Dashboard > Buy Cluster to open the Buy Hybrid Cluster page. An alternative way to open that page is to choose Resource Management > Clusters in the navigation pane and click Buy next to Hybrid Cluster.

  2. On the Configure Cluster page, configure cluster parameters. In this example, a majority of parameters retain default values. After the cluster configuration is complete, click Next: Create Node to go to the node creation page.

    The image below shows the GUI where you create and configure the cluster:

    Configure Cluster
    Configure Cluster
  3. On the node creation page, configure the following parameters

    The image below shows the GUI where you create and configure the node:

    Configure Node
    Configure Node
  4. Configure kubectl

  5. Now you can install Istio on CCE cluster according to install guide.

  6. Configure ELB to expose Istio ingress gateway if needed.

    Set the ELB instance ID and loadBalancerIP to istio-ingressgateway.

$ kubectl apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
  annotations:
    kubernetes.io/elb.class: union
    kubernetes.io/elb.id: 4ee43d2b-cec5-4100-89eb-2f77837daa63 # ELB ID
    kubernetes.io/elb.lb-algorithm: ROUND_ROBIN
  labels:
    app: istio-ingressgateway
    install.operator.istio.io/owning-resource: unknown
    install.operator.istio.io/owning-resource-namespace: istio-system
    istio: ingressgateway
    istio.io/rev: default
    operator.istio.io/component: IngressGateways
    operator.istio.io/managed: Reconcile
    operator.istio.io/version: 1.9.0
    release: istio
  name: istio-ingressgateway
  namespace: istio-system
spec:
  clusterIP: 10.247.7.192
  externalTrafficPolicy: Cluster
  loadBalancerIP: 119.8.36.132     ## ELB EIP
  ports:
  - name: status-port
    nodePort: 32484
    port: 15021
    protocol: TCP
    targetPort: 15021
  - name: http2
    nodePort: 30294
    port: 80
    protocol: TCP
    targetPort: 8080
  - name: https
    nodePort: 31301
    port: 443
    protocol: TCP
    targetPort: 8443
  - name: tcp
    nodePort: 30229
    port: 31400
    protocol: TCP
    targetPort: 31400
  - name: tls
    nodePort: 32028
    port: 15443
    protocol: TCP
    targetPort: 15443
  selector:
    app: istio-ingressgateway
    istio: ingressgateway
  sessionAffinity: None
  type: LoadBalancer
EOF

Start playing with Istio by trying out the various tasks.