Setup Istio on IKS

Using the IBM Cloud Developer Tools CLI

Create a Standard Cluster,

  • Login into IBM Cloud,

$ ibmcloud login -u <username> -p <password> -r us-south -g Default
$ ibmcloud target --cf
  • To create a Standard Cluster, you must specify the zone, flavor (or machine-type), public VLAN and private VLAN.

  • First, find the available zones,

$ ibmcloud ks zones
OK
Zone
ams03
che01
hkg02
mel01
mex01
mil01
mon01
osl01
par01
sao01
seo01
sjc03
sjc04
sng01
tor01
dal10
dal12
dal13
fra02
fra04
fra05
lon02
lon04
lon05
lon06
syd01
syd04
syd05
tok02
tok04
tok05
wdc04
wdc06
wdc07
  • Then, find the available flavors (or the deprecated term machine-types) in a selected zone, e.g. dal10,

$ ibmcloud ks flavors --zone dal10
OK
For more information about these flavors, see http://ibm.biz/flavors
Name Cores Memory Network Speed OS Server Type Storage Secondary Storage Provider
b2c.16x64 16 64GB 1000Mbps UBUNTU_16_64 virtual 25GB true classic
b2c.32x128 32 128GB 1000Mbps UBUNTU_16_64 virtual 25GB true classic
b2c.4x16 4 16GB 1000Mbps UBUNTU_16_64 virtual 25GB true classic
b2c.56x242 56 242GB 1000Mbps UBUNTU_16_64 virtual 25GB true classic
b2c.8x32 8 32GB 1000Mbps UBUNTU_16_64 virtual 25GB true classic
b3c.16x64 16 64GB 1000Mbps UBUNTU_18_64 virtual 25GB true classic
b3c.32x128 32 128GB 1000Mbps UBUNTU_18_64 virtual 25GB true classic
b3c.4x16 4 16GB 1000Mbps UBUNTU_18_64 virtual 25GB true classic
b3c.56x242 56 242GB 1000Mbps UBUNTU_18_64 virtual 25GB true classic
b3c.8x32 8 32GB 1000Mbps UBUNTU_18_64 virtual 25GB true classic
c2c.16x16 16 16GB 1000Mbps UBUNTU_16_64 virtual 25GB true classic
...and more
  • Then, find the public and private VLANs,

$ ibmcloud ks vlan ls --zone dal10
OK
ID Name Number Type Router Supports Virtual Workers
1234567 1593 private bcr03a.dal10 true
2345678 1519 public fcr03a.dal10 true
  • Now, with the zone, flavor (or machine-type), public VLAN ID and private VLAN ID, create the Standard Cluster,

$ ibmcloud ks cluster create classic --name <account>_iks_cluster_<user> --zone dal10
--machine-type b3c.4x16 --hardware shared --workers 3 --public-vlan 2345678
--private-vlan 1234567
Creating cluster...
OK
  • Check the status of your available clusters,

$ ibmcloud ks cluster ls
OK
Name ID State Created Workers
Location Version Resource Group Name Provider
account1_iks_cluster_user1 abcdefgh12ij3kl4mn56 deploying 56 seconds ago 3
Dallas 1.14.8_1536 Default classic
  • Check the status of your worker nodes,

$ ibmcloud ks worker ls --cluster account1_iks_cluster_user1
OK
ID Public IP Private IP Flavor State Status Zone Version
kube-abcdefgh12ij3kl4mn56-account1ikscl-default-0000010f 123.45.678.90 10.93.123.456 b3c.4x16.encrypted provisioning IBM Cloud classic infrastructure operation: Software install is finished dal10 1.14.7_1535
kube-abcdefgh12ij3kl4mn56-account1ikscl-default-0000020b - - b3c.4x16.encrypted provisioning - dal10 1.14.7_1535
kube-abcdefgh12ij3kl4mn56-account1ikscl-default-000003dd 123.45.678.92 10.93.123.457 b3c.4x16.encrypted provisioning IBM Cloud classic infrastructure operation: Software install is finished dal10 1.14.7_1535
  • Wait until the State is normal and the Status is ready,

Enable the Istio Add-on,

  • Enable the istio add-on, and optionally the istio-extras and istio-sample-bookinfo add-ons.

  • Enable the istio add-on,

$ ibmcloud ks cluster addon enable istio --cluster account1_iks_cluster_user1
Enabling add-on istio for cluster account1_iks_cluster_user1...
OK
  • Enable the istio-extras,

$ ibmcloud ks cluster addon enable istio-extras --cluster account1_iks_cluster_user1
Enabling add-on istio-extras for cluster account1_iks_cluster_user1...
OK
  • Enable the istio-sample-bookinfo,

$ ibmcloud ks cluster addon enable istio-sample-bookinfo --cluster account1_iks_cluster_user1
Enabling add-on istio-sample-bookinfo for cluster account1_iks_cluster_user1...
OK
  • Verify that the managed Istio add-ons are now enabled,

$ ibmcloud ks cluster addon ls --cluster account1_iks_cluster_user1
OK
Name Version
istio 1.3.3
istio-extras 1.3.3
istio-sample-bookinfo 1.3.3

Using the IBM Cloud UI

Create a new IBM Kubernetes Service (IKS) cluster on IBM Cloud,

  • Login to your account on IBM Cloud,

  • Go to the Catalog,

  • Search the catalog for Kubernetes Service,

  • Select the Kubernetes Service,

  • Click the Create button,

  • Select the Standard plan, a Managed Istio add-on is not available for a free cluster,

  • Optionally, rename the Cluster name, e.g. <username>-standard-iks-cluster,

  • Optionally, select a Single zone location,

  • Click Create cluster,

  • It will take a while before the provisioning of the cluster has been completed,

Once the cluster is available, enable the Istio Add-on:

  • In the Clusters > Kubernetes Service,

  • Go to the Add-ons tab,

  • Install the Managed Istio add-on,

  • Click Install,

  • Select all options including Istio v1.3.2 , Extras, and Sample,

  • Click Install,

Note that you have installed Istio v1.3.2, we will use the Istio release including the Sample - Bookinfo application in the rest of the examples.