diff --git a/slides/_redirects b/slides/_redirects new file mode 100644 index 00000000..611bf17b --- /dev/null +++ b/slides/_redirects @@ -0,0 +1 @@ +/ /deck.yml.html diff --git a/slides/common/prereqs.md b/slides/common/prereqs.md index 5bf1bc57..88e5bc1a 100644 --- a/slides/common/prereqs.md +++ b/slides/common/prereqs.md @@ -1,14 +1,9 @@ -# Pre-requirements +# Orchestration -- Be comfortable with the UNIX command line +- Now that we have learned some container knowledge, + we can get started with orchestration! - - navigating directories - - - editing files - - - a little bit of bash-fu (environment variables, loops) - -- Some Docker knowledge +- Note: all that is needed to follow along the orchestration part is some *basic* Docker knowledge, i.e.: - `docker run`, `docker ps`, `docker build` @@ -36,7 +31,7 @@ Misattributed to Benjamin Franklin ## Hands-on sections -- The whole workshop is hands-on +- Of course, we have tons of exercises and hands-on labs - We are going to build, ship, and run containers! @@ -78,7 +73,9 @@ class: in-person - They'll remain up for the duration of the workshop -- You should have a little card with login+password+IP addresses +- You should have **another** little card with login+password+IP addresses + + (But that one has 5 nodes instead of only 1) - You can automatically SSH from one VM to another diff --git a/slides/deck.yml b/slides/deck.yml new file mode 100644 index 00000000..aad89ed5 --- /dev/null +++ b/slides/deck.yml @@ -0,0 +1,108 @@ +title: | + Introduction + to Containers + and Orchestration + +#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" +chat: "[Gitter](https://gitter.im/jpetazzo/training-20180605-montpellier)" + +gitrepo: github.com/jpetazzo/container.training + +slides: http://juin2018.container.training/ + +exclude: +- self-paced + +chapters: +- common/title.md +- logistics.md +- intro/intro.md +- common/about-slides.md +- common/toc.md +- - intro/Docker_Overview.md + - intro/Docker_History.md + - intro/Training_Environment.md + - intro/Installing_Docker.md + - intro/First_Containers.md + - intro/Background_Containers.md + - intro/Start_And_Attach.md +- - intro/Initial_Images.md + - intro/Building_Images_Interactively.md + - intro/Building_Images_With_Dockerfiles.md + - intro/Cmd_And_Entrypoint.md + - intro/Copying_Files_During_Build.md +- - | + # Exercise — writing Dockerfiles + + Let's write Dockerfiles for an existing application! + + The code is at: https://bitbucket.org/jgarrouste/k8s-wordsmith-exo/src/master/ + - intro/Multi_Stage_Builds.md + - intro/Publishing_To_Docker_Hub.md + - intro/Dockerfile_Tips.md + - | + # Exercise — writing better Dockerfiles + + Let's update our Dockerfiles to leverage multi-stage builds! + + The code is at: https://bitbucket.org/jgarrouste/k8s-wordsmith-exo/src/master/ + + Use a different tag for these images, so that we can compare their sizes. + + What's the size difference between single-stage and multi-stage builds? +- - intro/Naming_And_Inspecting.md + - intro/Labels.md + - intro/Getting_Inside.md + - intro/Resource_Limits.md +- - intro/Namespaces_Cgroups.md + - intro/Copy_On_Write.md + #- intro/Containers_From_Scratch.md +- - intro/Container_Networking_Basics.md + - intro/Network_Drivers.md + - intro/Container_Network_Model.md + #- intro/Connecting_Containers_With_Links.md + - intro/Ambassadors.md +- - intro/Local_Development_Workflow.md + - intro/Working_With_Volumes.md + - intro/Compose_For_Dev_Stacks.md + - | + # Exercise — writing a Compose file + + Let's write a Compose file for the wordsmith app! + + The code is at: https://bitbucket.org/jgarrouste/k8s-wordsmith-exo/src/master/ + +- - intro/CI_Pipeline.md + - intro/Docker_Machine.md + - intro/Advanced_Dockerfiles.md + - intro/Application_Configuration.md + - intro/Logging.md +- - intro/Container_Engines.md + - intro/Ecosystem.md + - intro/Orchestration_Overview.md + - intro/links.md +- - common/prereqs.md + - kube/versions-k8s.md + - common/sampleapp.md + - common/composescale.md + - common/composedown.md + - kube/concepts-k8s.md + - common/declarative.md + - kube/declarative.md + - kube/kubenet.md + - kube/kubectlget.md + - kube/setup-k8s.md +- - kube/kubectlrun.md + - kube/kubectlexpose.md + - kube/ourapponkube.md +- - kube/dashboard.md + - kube/kubectlscale.md + - kube/daemonset.md + - kube/rollout.md +- - kube/logs-cli.md + - kube/logs-centralized.md + - kube/helm.md + - kube/namespaces.md + - kube/whatsnext.md + - kube/links.md + - common/thankyou.md diff --git a/slides/index.html b/slides/index.html deleted file mode 100644 index a0a2c942..00000000 --- a/slides/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - -Formation/workshop containers, orchestration, et Kubernetes à Montpellier en juin - - -
-
-

Introduction aux conteneurs

-
De la pratique … aux bonnes pratiques
-
(5-6 juin 2018)
-

-SLIDES -CHATROOM -

-
-
-

Introduction à l'orchestration

-
Kubernetes par l'exemple
-
(7 juin 2018)
-

-SLIDES -CHATROOM -

-
-
- - diff --git a/slides/intro.yml b/slides/intro.yml deleted file mode 120000 index 9faf6714..00000000 --- a/slides/intro.yml +++ /dev/null @@ -1 +0,0 @@ -intro-fullday.yml \ No newline at end of file diff --git a/slides/kube.yml b/slides/kube.yml deleted file mode 120000 index 043d5cb9..00000000 --- a/slides/kube.yml +++ /dev/null @@ -1 +0,0 @@ -kube-fullday.yml \ No newline at end of file diff --git a/slides/theme.css b/slides/theme.css deleted file mode 100644 index 74d0a326..00000000 --- a/slides/theme.css +++ /dev/null @@ -1,85 +0,0 @@ -@import url('https://fonts.googleapis.com/css?family=PT+Sans'); - -body { - font-family: 'PT Sans', sans-serif; - max-width: 900px; - margin: 0 auto 0 auto; - font-size: 13pt; - background: lightgrey; -} - -body > div { - background: white; - padding: 0 5em 0 5em; -} - -ul, p, h1, h2, h3, h4, h5, h6 { - margin: 0; -} - -h1, h2, h3 { - padding-top: 1em; - padding-bottom: 0.5em; -} - -ul, p { - padding-bottom: 1em; -} - -img { - width: 200px; - float: left; - margin-right: 1em; - margin-bottom: 0.5em; - margin-top: 3em; -} - -h2:nth-of-type(n+5) { - color: #0069A8; -} - -h2:nth-of-type(-n+4) { - text-align: center; -} - -h2:nth-of-type(1) { - font-size: 3em; -} - -h2:nth-of-type(2) { - font-size: 2em; -} - -h2:nth-of-type(3) { - font-size: 1.5em; -} - -h2:nth-of-type(4) { - font-size: 1em; -} - -/* index */ -.index h4 { - font-size: 2.0em; -} -.index h5 { - font-size: 1.3em; -} -.index h6 { - font-size: 1.0em; -} -.index h4, .index h5, .index h6, .index p { - padding: 5pt; -} -div.index { -} -div.block { - background: #e1f8ff; - padding: 1em; - margin: 2em; -} -.index { - font-size: 1.5em; - padding: 0.5em; -} -