Skip to content

Instantly share code, notes, and snippets.

@ryanj
Last active February 6, 2016 12:34
Show Gist options
  • Save ryanj/881b5e0a6ef93f16c838 to your computer and use it in GitHub Desktop.
Save ryanj/881b5e0a6ef93f16c838 to your computer and use it in GitHub Desktop.
Docker: Develop and Deploy - LinuxCon NA 2015 / ContainerCon - @ryanj
<section>
<section id='Docker-Develop-and-Deploy' data-markdown>
##Docker:
# Develop
and
# Deploy
http://bit.ly/dev-deploy-linuxcon2015
</section>
<section data-markdown id='timestamp'>
#### Docker: Develop and Deploy
3:00pm-3:50pm Wednesday, 2015/08/19
Location: Willow A
http://lccocc2015.sched.org/event/b14e38aa34e4b03b7ac6ea377c2b1f62
</section>
<section id='by-ryanj' data-state="blackout">
<p>presented by</p>
<p><a href='http://ryanjarvinen.com/'>ryan jarvinen</a> / <a href='http://twitter.com/ryanj/'>@ryanj</a></p>
<p><a href="http://ryanjarvinen.com"><img src="http://ryanjarvinen.com/presentations/shared/img/moo_openshift_horizontal.png"/></a></p>
</section>
</section>
<section>
<section id='agenda'>
<h3>Agenda</h3>
<ol>
<li class='fragment'><a href='#/workshop'>Workshop Setup</a></li>
<li class='fragment'><a href='#/containerization'>Containerizing your Apps w/ Docker</a></li>
<li class='fragment'><a href='#/build-and-ship'>Building and Shipping Images w/ OpenShift v3</a></li>
<li class='fragment'><a href='#/replication-and-healing'>Replication and Healing w/ Kubernetes</a></li>
</ol>
</section>
</section>
<section>
<section id='workshop' data-markdown>
## Workshop Setup
Install the `oc` command-line tool
* USB sticks available in class
* Also available on Github.com/openshift/origin/releases
</section>
<section id='authentication' data-markdown>
## Authentication
1. Log in to [GitHub](http://github.com)
2. Log in to OpenShift via the CLI: `oc login --server=openshift-master.onmy.demo.computer`
3. Log in to OpenShift on the web: https://openshift-master.onmy.demo.computer/console/
</section>
</section>
<section>
<section id='containerization' data-markdown>
# Dockerizing
### your
# Applications
and/or Services
</section>
<section data-markdown>
### Config Management
For Node.js: [Config-MultiPaaS](https://www.npmjs.com/package/config-multipaas)
</section>
<section id='dockerize' data-markdown>
## Getting Started
with
## Docker
Add a Dockerfile to your repo
</section>
<section id='templates' data-markdown>
### Composing with Templates
microservices &rarr; templates
* swarm
* k8s templates and object lists
* openshift templates
* AppC
* NuleCule
</section>
</section>
<section>
<section id='build-and-ship' data-markdown>
## Building
and
## Shipping
# Images
</section>
<section id='building-images' data-markdown>
### Automated Builds on DockerHub
</section>
<section id='building-on-openshift' data-markdown>
## Building and Shipping
on
# OpenShift
</section>
<section id='fork' data-markdown>
### Fork
Fork this: https://github.com/ryanj/smoke
</section>
<section id='reset' data-markdown>
### Clean Up
`oc delete all --all`
</section>
<section id='source-to-image' data-markdown>
## Source
to
# Image
Build and Deploy your fork of the `smoke` test repo
</section>
<section id='new-models' data-markdown>
### New Models
* BuildConfig
* DeploymentConfig
</section>
<section id='change-triggers' data-markdown>
### Change Triggers
* Env Change
* Image Change
</section>
<section id='imagechange' data-markdown>
## ImageChange
Deploy an Image
</section>
<section id='dockerbuild' data-markdown>
## DockerBuild
Builds based on Dockerfiles
</section>
<section id='s2i' data-markdown>
## Source 2 Image
Combine source repos and base images
</section>
<section id='webhooks' data-markdown>
## WebHooks
Set up a commit WebHook
</section>
<section id='git-push-to-build-and-ship' data-markdown>
### Git Push to Build and Ship
Or, use GitHub's web-based editor to make a minor change
</section>
</section>
<section>
<section id='replication-and-healing' data-markdown>
## Replication
and
## Healing
with
# Kubernetes
</section>
<section id='scaling' data-markdown>
## Scaling
`oc scale rc/smoke-1 --replicas=3`
</section>
<section id='recovery' data-markdown>
### Recovery
`oc get pods`
`oc delete POD_ID`
</section>
</section>
<section>
<section id='homework' data-markdown>
## Homework
1. Run your own OpenShift / K8s cluster in a VM: http://bit.ly/v3devs
2. Build your own cluster in the cloud: http://github.com/openshift/openshift-ansible
</section>
<section id='freebies' data-markdown>
## Free K8s Ebook!
https://www.openshift.com/promotions/kubernetes
</section>
</section>
<section id='thank-you' data-markdown>
# Thank You!
@ryanj
http://bit.ly/dev-deploy-linuxcon2015
</section>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment