This repository includes the instructions and scripts for running and understanding Istio Service Mesh.
- GCP Free Trial Account
- Apigee Trial Account
- Knowledge on Docker, Microservice Architecture and PaaS platforms
- After creating an GCP Account, create a new VM in Compute Engine. I have used this config,
n1-highcpu-8 - CentOS7 Compute Engine - 8vCPU, 7GB memory, 100GB storage
. - By default Openshift's
pods-per-core
is set to10
. So in my case I could deploy a total of 80 pods. - Reserve a Static Internal IP Address and Static External IP Address for the VM Instance.
- Create a Firewall Rule to allow access to all ports exposed by the VM Instance.
- Add the above created Rule as a Network tag to VM Instance.
- We will install
Docker
and use it to run Openshift PaaS platform as a Docker container. - Within scripts folder run all the commands in docker-installation.sh
- We will download Openshift Client and use it to run a
oc cluster up
command to install Openshift. - Within scripts folder run all the commands in openshift-installation.sh
- Within scripts folder go to istio-apigee-installation.sh and edit line 10 to replace your
Apigee - organization, environment & credentials
. - We will use
Apigee Istio Mixer Adapter
to setup Istio in Openshift. - Run all the commands in istio-apigee-installation.sh
- Wait till all the
pods
are up and running fromistio-system
namespace -oc get pods -n istio-system
- All the services are deployed using pre-built docker images from
siddharth67
Docker repo. - Within scripts folder run all the commands in deploying-services.sh
- Wait till all the
pods
are up and running fromaio
namespace -oc get pods -n aio
- Run
oc get routes -n aio
and copy any one of the route and test them in Browser or use a cURL Command,
curl http://movies-aio.xx.xxx.xx.xx.nip.io
- Explore demo-commands.sh
- Follow the instructions and test the functionalities.
- Run
oc get routes -n istio-system
- Check sample images
This project is licensed under the MIT License - see the LICENSE.md file for details
- All the below docs and demos have helped me to understand and create this project.
- I might have missed few of them, will add them as I remember.
- https://istio.io/
- https://developers.redhat.com
- https://blog.openshift.com/istio-on-openshift/
- http://blog.christianposta.com/istio-workshop/slides/
- https://docs.apigee.com/api-platform/istio-adapter/concepts
- Istio: Canaries and Kubernetes, Microservices and Service Mesh by BurrSutter