Skip to content

Commit

Permalink
use workshopper for lab instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesfalkner committed Apr 19, 2018
1 parent 93e520f commit 8de5f31
Show file tree
Hide file tree
Showing 26 changed files with 363 additions and 403 deletions.
62 changes: 41 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,48 @@
# Getting Hands On With Istio on OpenShift
## Red Hat Summit 2018
# Red Hat Summit 2018: <br/>Getting Hands On With Istio on OpenShift

As microservices-based applications become more prevalent, both the number of and complexity of their interactions increases. Up until now much of the burden of managing these complex microservices interactions has been placed on the application developer, with different or non-existent support for microservice concepts depending on language and framework. The service mesh concept pushes this responsibility to the infrastructure, with features for traffic management, distributed tracing and observability, policy enforcement, and service/identity security, freeing the developer to focus on business value. In this hands-on session you will learn how to apply some of these features to a simple polyglot microservices application running on top of OpenShift using Istio, an open platform to connect, manage, and secure microservices.
Lab guides for the Getting Hands On With Istio on OpenShift at Red Hat Summit 2018

**Table of Contents**
## Purpose

* [Prerequisites](#prereqs)
* [Introduction and Setup](instructions/00-intro.md)
* [Lab 1 - Basic Routing](instructions/01-basic-routing.md)
* [Lab 2 - Service Visualization and Tracing Console](instructions/02-graph-and-tracing.md)
* [Lab 3 - Fault Injection](instructions/03-fault-injection.md)
* [Lab 4 - Rate Limiting](instructions/04-rate-limiting.md)
* [Lab 5 - Timeouts](instructions/05-timeouts.md)
* [Lab 6 - Whitelisting](instructions/06-whitelisting.md)
* [Lab 7 - Blacklisting](instructions/07-blacklisting.md)
* [Lab 8 - Extra Credit](instructions/08-extra-credit.md)
As microservices-based applications become more prevalent, both the number of and complexity of
their interactions increases. Up until now much of the burden of managing these complex
microservices interactions has been placed on the application developer, with different or
non-existent support for microservice concepts depending on language and framework.

## Prerequisites
The service mesh concept pushes this responsibility to the infrastructure, with features for
traffic management, distributed tracing and observability, policy enforcement, and
service/identity security, freeing the developer to focus on business value. In this hands-on
session you will learn how to apply some of these features to a simple polyglot microservices
application running on top of OpenShift using Istio, an open platform to connect, manage, and
secure microservices.

* Working knowledge of programming (e.g. Developer, Architect)
* Familiarity with containers and OpenShift
## Deploy On OpenShift

To get started, click Next!
You can deploy the lab guides as a container image anywhere but most conveniently, you can deploy it on OpenShift Online or other OpenShift flavours:

```
oc new-app osevg/workshopper --name=istio-workshop-guide \
-e CONTENT_URL_PREFIX=https://raw.githubusercontent.com/jamesfalkner/istio-lab-summit-2018/master/instructions
-e WORKSHOPS_URLS="https://raw.githubusercontent.com/jamesfalkner/istio-lab-summit-2018/master/instructions/_rhsummit18.yml" \
-e JAVA_APP=false
oc expose svc/istio-workshop-guide
```

The lab content (`.md` files) will be pulled from the GitHub when users access the guides in
their browser.

Note that the workshop variables can be overriden via specifying environment variables on the container itself e.g. the `JAVA_APP` env var in the above command

## Test Locally with Docker

You can directly run Workshopper as a docker container which is specially helpful when writing the content.
```
docker run -p 8080:8080 -v $(pwd):/app-data \
-e CONTENT_URL_PREFIX="file:///app-data/instructions" \
-e WORKSHOPS_URLS="file:///app-data/instructions/_rhsummit18.yml" \
osevg/workshopper:latest
```

Go to http://localhost:8080 on your browser to see the rendered workshop content. You can modify the lab instructions
and refresh the page to see the latest changes.

<div>
<div style="float: right"><a href="./instructions/00-intro.md"><span>Next&nbsp&gt;&gt;</span></a></div>
<div>
75 changes: 0 additions & 75 deletions instructions/00-intro.md

This file was deleted.

22 changes: 22 additions & 0 deletions instructions/_modules.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
config:
renderer: markdown

modules:
intro:
name: Introduction and Setup
basic-routing:
name: Basic Routing
graph-and-tracing:
name: Service Visualization and Tracing Console
fault-injection:
name: Fault Injection
rate-limiting:
name: Rate Limiting
timeouts:
name: Timeouts
whitelisting:
name: Whitelisting
blacklisting:
name: Blacklisting
extra-credit:
name: Extra Credit
22 changes: 22 additions & 0 deletions instructions/_rhsummit18.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
id: "istio"
name: "Getting Hands On With Istio on OpenShift"

content:
url: https://raw.githubusercontent.com/jamesfalkner/istio-lab-summit-2018/master

vars:
OPENSHIFT_MASTER: "https://openshift-GUID.rhpds.opentlc.com:8443"
APPS_SUFFIX: "apps.127.0.0.1.xip.io"
ISTIO_LAB_HOSTNAME: "openshift-GUID.rhpds.opentlc.com"

modules:
activate:
- intro
- basic-routing
- graph-and-tracing
- fault-injection
- rate-limiting
- timeouts
- whitelisting
- blacklisting
- extra-credit
Loading

0 comments on commit 8de5f31

Please sign in to comment.