Last active
February 6, 2016 12:34
-
-
Save ryanj/881b5e0a6ef93f16c838 to your computer and use it in GitHub Desktop.
Docker: Develop and Deploy - LinuxCon NA 2015 / ContainerCon - @ryanj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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 → 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