istio.io/content/docs/setup/kubernetes/quick-start-ibm/index.md

7.6 KiB
Raw Blame History

title description weight keywords
Quick Start with IBM Cloud How to quickly setup Istio using IBM Cloud Public or IBM Cloud Private. 21
kubernetes
ibm
icp

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:

    {{< text yaml >}} 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 {{< /text >}}
  3. Create the service account and cluster role binding:

    {{< text bash >}} $ kubectl create -f rbac-config.yaml {{< /text >}}

  4. Initialize Helm and install Tiller:

    {{< text bash >}} $ helm init --service-account tiller {{< /text >}}

  5. Add the IBM Cloud Helm repository to your Helm instance:

    {{< text bash >}} $ helm repo add ibm-charts https://registry.bluemix.net/helm/ibm-charts {{< /text >}}

Deploy the Istio Helm chart

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

    {{< text bash >}} $ kubectl apply -f https://raw.githubusercontent.com/IBM/charts/master/stable/ibm-istio/templates/crds.yaml {{< /text >}}

  2. Install the Helm chart to your cluster:

    {{< text bash >}} $ helm install ibm-charts/ibm-istio --name=istio --namespace istio-system {{< /text >}}

  3. Ensure the pods for the 9 Istio services and the pod for Prometheus are all fully deployed:

    {{< text bash >}} $ 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 {{< /text >}}

Upgrade

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

    {{< text bash >}} $ helm upgrade -f config.yaml istio ibm/ibm-istio {{< /text >}}

Uninstall

  1. Uninstall the Istio Helm deployment:

    {{< text bash >}} $ helm del istio --purge {{< /text >}}

    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:

    {{< text bash >}} $ kubectl -n istio-system delete job --all {{< /text >}}

  2. If desired, delete the Istio custom resource definitions:

    {{< text bash >}} $ kubectl delete -f https://raw.githubusercontent.com/IBM/charts/master/stable/ibm-istio/templates/crds.yaml {{< /text >}}

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

  • You need to have an available IBM Cloud Private cluster. Otherwise, you can follow Installing IBM Cloud Private-CE to create an IBM Cloud Private cluster.

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.

{{< image width="100%" ratio="43.98%" link="./istio-catalog-1.png" caption="IBM Cloud Private - Istio Catalog" >}}

  • Click ibm-istio in the right panel.

{{< image width="100%" ratio="40.45%" link="./istio-catalog-2.png" caption="IBM Cloud Private - Istio Catalog" >}}

  • (Optional) Change the Istio version using the CHART VERSION drop-down.
  • Click the Configure button.

{{< image width="100%" ratio="53.92%" link="./istio-installation-1.png" caption="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.

{{< image width="100%" ratio="55.07%" link="./istio-installation-2.png" caption="IBM Cloud Private - Istio Installation" >}}

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

{{< image width="100%" ratio="25.47%" link="./istio-release.png" caption="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.

{{< image width="100%" ratio="41.28%" link="./istio-upgrade-1.png" caption="IBM Cloud Private - Istio Upgrade or Rollback" >}}

{{< image width="100%" ratio="32.52%" link="./istio-upgrade-2.png" caption="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.

{{< image width="100%" ratio="32.52%" link="./istio-deletion.png" caption="IBM Cloud Private - Istio Uninstalling" >}}