/k8s-demo

Primary LanguageShell

Openshift Demo

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

Host Preparation

  • 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

Run Demo

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

Run Demo without Internet

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.

Customize Service Catalog

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.