There are two environments you will be working in for the exercises today.
-
Jumpbox: The apps and containers must be run on a Linux machine. Use your newly created Jumpbox for this exercise.
Note: If you have bash or ssh available on your machine, it is easiest to access the jump box via SSH. Otherwise, RDP is required.
-
Azure Cloud Shell: The Azure Cloud Shell will be accessed by logging into the Azure Portal (http://portal.azure.com).
Labs 1 and 2 require the Jumpbox. The subsequent labs can either be done in the Azure Cloud Shell or Jumpbox. Stick to either Jumpbox or Cloud Shell. Do not use both of them.
Once you have accessed the jumpbox, you must clone the workshop repo to the machine.
-
Start with a terminal on the jumpbox
-
Clone the Github repo via the command line
git clone https://github.com/Azure/blackbelt-aks-hackfest.git
The underlying data store for the app is MongoDB. It is already running(we installed MongoDB during Jumpbox setup). We need to import the data for our application.
-
Import the data using a terminal session on the jumpbox
cd ~/blackbelt-aks-hackfest/app/db mongoimport --host localhost:27019 --db webratings --collection heroes --file ./heroes.json --jsonArray mongoimport --host localhost:27019 --db webratings --collection ratings --file ./ratings.json --jsonArray mongoimport --host localhost:27019 --db webratings --collection sites --file ./sites.json --jsonArray
The API for the app is written in javascript, running on Node.js and Express
-
Update dependencies and run app via node in a terminal session on the jumpbox
cd ~/blackbelt-aks-hackfest/app/api npm install && npm run localmachine
The terminal will show the message saying
CONNECTED TO mongodb://localhost:27019/webratings.Leave the terminal as such and proceed to next step -
Open a new terminal session on the jumpbox and test the API
use curl
curl http://localhost:3000/api/heroes
If you are in an RDP session, you can browse to http://localhost:3000/api/heroes
The web frontend for the app is written in Vue.js, running on Node.js with Webpack
-
Open a new terminal session on the jumpbox
-
Update dependencies and run app via node
cd ~/blackbelt-aks-hackfest/app/web npm install && npm run localmachine
-
Test the web front-end
To test the web front-end via the internet you've to grab your ip address from the Azure Portal and enable access to port 8080.
- Goto portal.azure.com
- Select your Jumpbox VM
- Goto Networking
- Select 'Add inbound'
- Add a new inbound security rule for Port 8080/TCP
You can test the web app from a new terminal session in the jumpbox
curl http://localhost:8080
> Important! Close the web and api apps in the terminal windows by hitting
ctrl-c in each of the corresponding terminal windows