Lab 3 - Expose the Service Mesh with Istio Ingress Gateway
Last updated
Last updated
The components deployed on the service mesh by default are not exposed outside the cluster. External access to individual services so far has been provided by creating an external load balancer or node port on each service.
An Ingress Gateway resource can be created to allow external requests through the Istio Ingress Gateway to the backing services.
Configure the guestbook default route with the Istio Ingress Gateway. The guestbook-gateway.yaml
file is in this repository (istio101) in the workshop/plans
directory.
Get the EXTERNAL-IP of the Istio Ingress Gateway.
Output:
Make note of the external IP address that you retrieved in the previous step, as it will be used to access the Guestbook app in later parts of the course. Create an environment variable called $INGRESS_IP with your IP address.
Example:
NLB host names are the DNS host names you can generate for each IBM Cloud Kubernetes deployment exposed with the Network LoadBalancer(NLB) service. These host names come with SSL certificate, the DNS registration, and health checks so you can benefit from them for any deployments that you expose via the NLB on IBM Cloud Kubernetes Service.
You can run the IBM Cloud Kubernetes Service ALB, an API gateway of your choice, an Istio ingress gateway, and an MQTT server in parallel in your IBM Cloud Kubernetes Service cluster. Each one will have its own:
Let's leverage this feature with Istio ingress gateway:
Let's first check if you have any NLB host names for your cluster:
If you haven't used this feature before, you will get an empty list.
Obtain the Istio ingress gateway's external IP. Get the EXTERNAL-IP of the istio-ingressgateway service via output below:
Create the NLB host with the Istio ingress gateway's public IP address:
List the NLB host names for your cluster:
Example output:
Make note of the NLB host name (), as it will be used to access your Guestbook app in later parts of the course. Create an environment variable for it and test using curl or visit in your browser.
Example:
Enable health check of the NLB host for Istio ingress gateway:
Monitor the health check of the NLB host for Istio ingress gateway:
After waiting for a bit, you should start to see the health monitor's status changed to Enabled.
Example output:
Congratulations! You extended the base Ingress features by providing a DNS entry to the Istio service.