Quick Start with IBM Cloud

Follow these instructions to install and run Istio in IBM Cloud. You can install Istio in IBM Cloud Public or IBM Cloud Private.

IBM Cloud Public

Follow these instructions to install and run Istio in IBM Cloud Public by using Helm and the IBM Cloud Kubernetes Service.

This guide installs the current release version of Istio.

Prerequisites - IBM Cloud Public

Initialize Helm and Tiller

  1. Install the Helm CLI.

  2. Create a service account for Tiller in the kube-system namespace and a Kubernetes RBAC cluster role binding for the tiller-deploy pod:

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: tiller
      namespace: kube-system
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: tiller
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
      - kind: ServiceAccount
        name: tiller
        namespace: kube-system
  3. Create the service account and cluster role binding:

    $ kubectl create -f rbac-config.yaml
  4. Initialize Helm and install Tiller:

    $ helm init --service-account tiller
  5. Add the IBM Cloud Helm repository to your Helm instance:

    $ helm repo add ibm-charts https://registry.bluemix.net/helm/ibm-charts

Deploy the Istio Helm chart

  1. If using a Helm version prior to 2.10.0, install Istio’s Custom Resource Definitions via kubectl apply, and wait a few seconds for the CRDs to be committed in the kube-apiserver:

    $ kubectl apply -f https://raw.githubusercontent.com/IBM/charts/master/stable/ibm-istio/templates/crds.yaml
  2. Install the Helm chart to your cluster:

    $ helm install ibm-charts/ibm-istio --name=istio --namespace istio-system
  3. Ensure the pods for the 9 Istio services and the pod for Prometheus are all fully deployed:

    $ kubectl get pods -n istio-system
    NAME                                       READY     STATUS      RESTARTS   AGE
    istio-citadel-748d656b-pj9bw               1/1       Running     0          2m
    istio-egressgateway-6c65d7c98d-l54kg       1/1       Running     0          2m
    istio-galley-65cfbc6fd7-bpnqx              1/1       Running     0          2m
    istio-ingressgateway-f8dd85989-6w6nj       1/1       Running     0          2m
    istio-pilot-5fd885964b-l4df6               2/2       Running     0          2m
    istio-policy-56f4f4cbbd-2z2bk              2/2       Running     0          2m
    istio-sidecar-injector-646655c8cd-rwvsx    1/1       Running     0          2m
    istio-statsd-prom-bridge-7fdbbf769-8k42l   1/1       Running     0          2m
    istio-telemetry-8687d9d745-mwjbf           2/2       Running     0          2m
    prometheus-55c7c698d6-f4drj                1/1       Running     0          2m

Upgrade

  1. To upgrade your Istio Helm chart to the latest version:

    $ helm upgrade -f config.yaml istio ibm/ibm-istio

Uninstall

  1. Uninstall the Istio Helm deployment:

    $ helm del istio --purge

    If your Helm version is less than 2.9.0, then you need to manually cleanup extra job resource before redeploy new version of Istio chart:

    $ kubectl -n istio-system delete job --all
  2. If desired, delete the Istio custom resource definitions:

    $ kubectl delete -f https://raw.githubusercontent.com/IBM/charts/master/stable/ibm-istio/templates/crds.yaml

IBM Cloud Private

Follow these instructions to install and run Istio in IBM Cloud Private using the Catalog module.

This guide installs the current release version of Istio.

Prerequisites - IBM Cloud Private

Deploy Istio via the Catalog module

  • Log in to the IBM Cloud Private console.
  • Click Catalog on the right side of the navigation bar.
  • Click Filter on the right side of the search box and select the ibm-charts check box.
  • Click Operations in the left navigation pane.
IBM Cloud Private - Istio Catalog
IBM Cloud Private - Istio Catalog
  • Click ibm-istio in the right panel.
IBM Cloud Private - Istio Catalog
IBM Cloud Private - Istio Catalog
  • (Optional) Change the Istio version using the CHART VERSION drop-down.
  • Click the Configure button.
IBM Cloud Private - Istio Installation
IBM Cloud Private - Istio Installation
  • Input the Helm release name (e.g. istio-1.0.3) and select istio-system as the target namespace.
  • Agree to the license terms.
  • (Optional) Customize the installation parameters by clicking All parameters.
  • Click the Install button.
IBM Cloud Private - Istio Installation
IBM Cloud Private - Istio Installation

After it is installed, you can find it by searching for its release name on the Helm Releases page.

IBM Cloud Private - Istio Installation
IBM Cloud Private - Istio Installation

Upgrade or Rollback

  • Log in to the IBM Cloud Private console.
  • Click the menu button on the left side of the navigation bar.
  • Click Workloads and select Helm Releases.
  • Find the installed Istio using its release name.
  • Click Action and select upgrade or rollback.
IBM Cloud Private - Istio Upgrade or Rollback
IBM Cloud Private - Istio Upgrade or Rollback
IBM Cloud Private - Istio Upgrade or Rollback
IBM Cloud Private - Istio Upgrade or Rollback

Uninstalling

  • Log in to the IBM Cloud Private console.
  • Click the menu button on the left side of the navigation bar.
  • Click Workloads and select Helm Releases.
  • Find the installed Istio using its release name.
  • Click Action and select delete.
IBM Cloud Private - Istio Uninstalling
IBM Cloud Private - Istio Uninstalling

See also

Instructions to setup the Istio service mesh in a Kubernetes cluster.

How to quickly setup Istio using Alibaba Cloud Kubernetes Container Service.

Install minimal Istio using Helm.

Example multicluster GKE install of Istio.

Install Istio with multicluster support.

Install Istio with the included Ansible playbook.