Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

So you think you're ready to start touching some code? We'll see about that...

Create an NCSA OpenSource Account

Click the Sign Up button at the top right corner of this page.

...

Be sure to let your supervisor know once you have created your OpenSource account, so you can be granted the necessary / appropriate permissions.

Extra Credit: Sign Into HipChat

We use HipChat to facilitate communication here at NCSA.

...

NOTE: You will need to specify a server of hipchat.ncsa.illinois.edu and OpenSource credentials to log in.

Create a GitHub Account

If you already have a GitHub account, you can skip this step.

...

Be sure to let your supervisor know once you have created your GitHub account, so you can be added to the nds-org organization as a contributor.

Create a Docker Hub Account

If you already have a Docker Hub account, you can skip this step.

...

Be sure to let your supervisor know once you have created your Docker Hub account, so you can be added to the ndslabs organization as a contributor.

Enter: OpenStack (Nebula)

The next few steps will involve familiarizing yourself with Nebula, our on-site OpenStack implementation.

Retrieve Your Nebula Password

Specify your AD username, then execute the following command to retrieve your Nebula password:

export AD_USERNAME=
sudo ssh ${AD_USERNAME}@public-linux.ncsa.illinois.edu cat /afs/ncsa/projects/openstack/etc/users/${AD_USERNAME}/password

Create an SSH Keypair

Log into Nebula and expand the Compute dropdown.

...

Your browser should automatically download a private key (a .pem file).

Allocate a development VM

At the top, choose the project: NDSLabsDev.

...

If you are unsure which to use, you likely should be using "large" or "medium".

Networking Gotchas

  • DO NOT FORGET to associate an SSH key for this machine, or else you will never be able to get into it
  • Remember to associate a Floating IP with this VM, so you can access it externally via a 141.142.xxx.xxx IP
  • Be sure to add Permissions to this VM:
    • remote SSH
    • remote HTTP

Enter: CoreOS

Now that you've got a development environment set up, you should be able to SSH into it using the .pem file you downloaded from Nebula:

...

Read more about CoreOS and what it has to offer here: https://coreos.com/using-coreos/

Enter: Git

Git is a commonly-used source control management system in modern software engineering.

...

CoreOS should include an installation of Git. Feel free to play around and become familiar with Git in this environment.

Enter: Docker

So you've got a shiny new CoreOS VM and you've figured out Git... let's see what it can do!

...

Upon completion, you should be familiar with the basics of docker, including how to push and pull images from Docker Hub.

Enter: Kubernetes

Now that you've gotten the hang of Docker's basics, try to extend your knowledge to Kubernetes, which wraps around Docker to support clustering of containers.

Check out this quick start guide to learn the basics of how Kubernetes works: http://kubernetes.io/docs/getting-started-guides/docker/

Congratulations!

If you have made it through all of the tutorials without hurting yourself or others, then you're doing great! (big grin)

...

Check out the documentation for that project here: NDS Labs

Extra Credit

Useful Tutorials / Discussions:

Here are a few useful talks regarding the technologies utilized by NDS Labs.

Feel free to watch as many as you'd like, and or sand suggest more in the comments of this page!

...