This demo deploys:
- Openshift 3.7
- Service Catalog
- Service Broker
- Istio
- Prometheus
- Grafana
- Elasticsearch
- Kibana
- Fluentd
- Jaeger
- Sample Application
All infrastructure is configured to work out-of-the-box.
TODO:
- Check if port binding allows outside connections
- Print URLs inluding IP instead of localhost
- Install Docker
- Add user to docker group
- Update docker configuration for insecure registry
- Please keep in mind that firewalls do overwrite Docker and kube-proxy IP-tables configurations. Make sure that the firewall does not cause troubles.
- Reboot machine after finishing host preparation
The demo is dockerized and does not modify the host.
Copy the sources:
$ git clone https://github.com/cheld/k8s-demo
Start Demo:
$ ./start-demo.sh
Check if everything is healthy:
$ ./bin/openshift*/oc get node localhost $ ./bin/openshift*/oc get pods --all-namespaces
Clean up:
$ ./stop-demo.sh
To run the demo on a target machine without internet connectivity:
- open releases and manually transfer one package to the target machine
- Unzip the downloaded package
- Run the script
images-load.sh
to copy all Docker images from the downloaded package to the target machine. - Run the script
start.sh
to start the demo.
The service catalog broker implementation is taken from demo-broker
The catalog content is retrieved from a URL. By default:
CATALOG_PATH=https://raw.githubusercontent.com/cheld/k8s-demo/master/config/catalog-legacy.json
Customize as needed. If you want to implement your own broker, than create a REST service that produces such a JSON as a first step.