This repository is part of the larger Logistics Wizard project.
In this variation of the Logistics Wizard deployment, the ERP and Controller services are deployed as containers within a Kubernetes cluster. The web user interface stays deployed as a Cloud Foundry application.
-
Ensure you have a GitHub account.
-
Ensure you have a Bluemix account.
-
Ensure you have a Kubernetes cluster in IBM Bluemix Container Service with Kubernetes 1.7.4 or newer installed.
-
Install Istio 0.2.6 from https://istio.io/docs/tasks/installing-istio.html in your Kubernetes cluster
The following commands should be executed once you have retrieved the Istio installation:
kubectl apply -f install/kubernetes/istio.yaml kubectl apply -f install/kubernetes/addons/prometheus.yaml kubectl apply -f install/kubernetes/addons/grafana.yaml kubectl apply -f install/kubernetes/addons/servicegraph.yaml
-
Ensure you have 1GB of free memory and space for 4 additional services in your Bluemix organization.
-
It is recommended to create a new space named
logistics-wizard-kube
in your Bluemix organization. This helps grouping the apps and services together in the console. -
To get started, click this button:
-
The toolchain configuration page opens.
-
Give a name to your toolchain. This name is used as the prefix for the deployed applications. The name must be unique within your organization.
A simple trick is to use your name or initials or to leave the default generated name.
-
Select the GitHub box.
-
Optionally change the name of the GitHub repositories that will be created in your GitHub account.
You can choose to fork the main repositories so that you can import changes as they become available or to clone the repositories.
-
Select the Delivery Pipeline box.
-
Give a unique name to the Logistics Wizard web application
-
Select the region, organization and space where you want to deploy the application.
⚠️ Make sure the organization and the space have no space in their names.⚠️ Only the US South region is currently supported. -
Select the region, organization and space where quota for IBM Containers have been specified. If you never used the IBM Containers before, you may need to initialize one space with IBM Container quotas.
-
Specify a Bluemix API key. You can obtain one using
bx iam api-key-create my-new-key
or from the Bluemix console under Manage / Security / Bluemix API Keys. The API key is used to interact with the Bluemix Container Service. -
Specify the name of the existing Kubernetes cluster where you have installed Istio.
-
Click Create
-
Once the toolchain is created, you will end up with several delivery pipelines for all applications in the sample. Wait for the pipelines to build all Docker images and deploy all the apps. You can open all pipelines in new browser tabs to follow the deployments or you can wait for all apps to be ready in the Bluemix dashboard.
-
Your apps are deployed. Head over the walkthrough for a tour of the app.
The Grafana addon provides an Istio dashboard visualization of the metrics (request rates, success/failure rates) in the cluster.
kubectl port-forward $(kubectl get pod -l app=grafana -n istio-system -o jsonpath='{.items[0].metadata.name}') -n istio-system 3000:3000
http://localhost:3000/dashboard/db/istio-dashboard
Servicegraph shows the connections between services.
kubectl port-forward $(kubectl get pod -l app=servicegraph -n istio-system -o jsonpath='{.items[0].metadata.name}') -n istio-system 8088:8088
kubectl delete -f install/kubernetes/addons/
kubectl delete -f install/kubernetes/istio.yaml