diff --git a/slides/_redirects b/slides/_redirects index d708d6aa..05e512b8 100644 --- a/slides/_redirects +++ b/slides/_redirects @@ -2,6 +2,7 @@ #/ /kube-halfday.yml.html 200! #/ /kube-fullday.yml.html 200! #/ /kube-twodays.yml.html 200! +/ /kube.yml.html 200! # And this allows to do "git clone https://container.training". /info/refs service=git-upload-pack https://github.com/jpetazzo/container.training/info/refs?service=git-upload-pack diff --git a/slides/exercises/tf-nodepools-details.md b/slides/exercises/tf-nodepools-details.md index 0d51a04d..2162709a 100644 --- a/slides/exercises/tf-nodepools-details.md +++ b/slides/exercises/tf-nodepools-details.md @@ -1,4 +1,4 @@ -# Exercise — Terraform Node Pools +## Exercise — Terraform Node Pools - Write a Terraform configuration to deploy a cluster diff --git a/slides/intro-fullday.yml b/slides/intro-fullday.yml deleted file mode 100644 index 14d16f4c..00000000 --- a/slides/intro-fullday.yml +++ /dev/null @@ -1,70 +0,0 @@ -title: | - Introduction - to Containers - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- containers/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - #- containers/Docker_Overview.md - #- containers/Docker_History.md - - containers/Training_Environment.md - #- containers/Installing_Docker.md - - containers/First_Containers.md - - containers/Background_Containers.md - #- containers/Start_And_Attach.md - - containers/Naming_And_Inspecting.md - #- containers/Labels.md - - containers/Getting_Inside.md - - containers/Initial_Images.md -- - - containers/Building_Images_Interactively.md - - containers/Building_Images_With_Dockerfiles.md - - containers/Cmd_And_Entrypoint.md - - containers/Copying_Files_During_Build.md - - containers/Exercise_Dockerfile_Basic.md -- - - containers/Container_Networking_Basics.md - #- containers/Network_Drivers.md - - containers/Local_Development_Workflow.md - - containers/Container_Network_Model.md - - containers/Compose_For_Dev_Stacks.md - - containers/Exercise_Composefile.md -- - - containers/Multi_Stage_Builds.md - #- containers/Publishing_To_Docker_Hub.md - - containers/Dockerfile_Tips.md - - containers/Exercise_Dockerfile_Advanced.md - #- containers/Docker_Machine.md - #- containers/Advanced_Dockerfiles.md - #- containers/Init_Systems.md - #- containers/Application_Configuration.md - #- containers/Logging.md - #- containers/Namespaces_Cgroups.md - #- containers/Copy_On_Write.md - #- containers/Containers_From_Scratch.md - #- containers/Container_Engines.md - #- containers/Pods_Anatomy.md - #- containers/Ecosystem.md - #- containers/Orchestration_Overview.md - - shared/thankyou.md - - containers/links.md diff --git a/slides/intro-selfpaced.yml b/slides/intro-selfpaced.yml deleted file mode 100644 index 14ae3e45..00000000 --- a/slides/intro-selfpaced.yml +++ /dev/null @@ -1,71 +0,0 @@ -title: | - Introduction - to Containers - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- in-person - -content: -- shared/title.md -# - shared/logistics.md -- containers/intro.md -- shared/about-slides.md -#- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - containers/Docker_Overview.md - - containers/Docker_History.md - - containers/Training_Environment.md - - containers/Installing_Docker.md - - containers/First_Containers.md - - containers/Background_Containers.md - - containers/Start_And_Attach.md -- - containers/Initial_Images.md - - containers/Building_Images_Interactively.md - - containers/Building_Images_With_Dockerfiles.md - - containers/Cmd_And_Entrypoint.md - - containers/Copying_Files_During_Build.md - - containers/Exercise_Dockerfile_Basic.md -- - containers/Multi_Stage_Builds.md - - containers/Publishing_To_Docker_Hub.md - - containers/Dockerfile_Tips.md - - containers/Exercise_Dockerfile_Advanced.md -- - containers/Naming_And_Inspecting.md - - containers/Labels.md - - containers/Getting_Inside.md -- - containers/Container_Networking_Basics.md - - containers/Network_Drivers.md - - containers/Container_Network_Model.md - #- containers/Connecting_Containers_With_Links.md - - containers/Ambassadors.md -- - containers/Local_Development_Workflow.md - - containers/Windows_Containers.md - - containers/Working_With_Volumes.md - - containers/Compose_For_Dev_Stacks.md - - containers/Exercise_Composefile.md - - containers/Docker_Machine.md -- - containers/Advanced_Dockerfiles.md - - containers/Init_Systems.md - - containers/Application_Configuration.md - - containers/Logging.md - - containers/Resource_Limits.md -- - containers/Namespaces_Cgroups.md - - containers/Copy_On_Write.md - #- containers/Containers_From_Scratch.md -- - containers/Container_Engines.md - - containers/Pods_Anatomy.md - - containers/Ecosystem.md - - containers/Orchestration_Overview.md - - shared/thankyou.md - - containers/links.md diff --git a/slides/intro-twodays.yml b/slides/intro-twodays.yml deleted file mode 100644 index 070a0035..00000000 --- a/slides/intro-twodays.yml +++ /dev/null @@ -1,79 +0,0 @@ -title: | - Introduction - to Containers - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- containers/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- # DAY 1 - - containers/Docker_Overview.md - #- containers/Docker_History.md - - containers/Training_Environment.md - - containers/First_Containers.md - - containers/Background_Containers.md - - containers/Initial_Images.md -- - - containers/Building_Images_Interactively.md - - containers/Building_Images_With_Dockerfiles.md - - containers/Cmd_And_Entrypoint.md - - containers/Copying_Files_During_Build.md - - containers/Exercise_Dockerfile_Basic.md -- - - containers/Dockerfile_Tips.md - - containers/Multi_Stage_Builds.md - - containers/Publishing_To_Docker_Hub.md - - containers/Exercise_Dockerfile_Advanced.md -- - - containers/Naming_And_Inspecting.md - - containers/Labels.md - - containers/Start_And_Attach.md - - containers/Getting_Inside.md - - containers/Resource_Limits.md -- # DAY 2 - - containers/Container_Networking_Basics.md - - containers/Network_Drivers.md - - containers/Container_Network_Model.md -- - - containers/Local_Development_Workflow.md - - containers/Working_With_Volumes.md - - containers/Compose_For_Dev_Stacks.md - - containers/Exercise_Composefile.md -- - - containers/Installing_Docker.md - - containers/Container_Engines.md - - containers/Init_Systems.md - - containers/Advanced_Dockerfiles.md -- - - containers/Application_Configuration.md - - containers/Logging.md - - containers/Orchestration_Overview.md -- - - shared/thankyou.md - - containers/links.md -#- - #- containers/Docker_Machine.md - #- containers/Ambassadors.md - #- containers/Namespaces_Cgroups.md - #- containers/Copy_On_Write.md - #- containers/Containers_From_Scratch.md - #- containers/Pods_Anatomy.md - #- containers/Ecosystem.md diff --git a/slides/k8s/extending-api.md b/slides/k8s/extending-api.md index 81fa0654..be25d504 100644 --- a/slides/k8s/extending-api.md +++ b/slides/k8s/extending-api.md @@ -32,6 +32,12 @@ But first, let's re(re)visit the API server ... --- +class: pic + +![Kubernetes architecture diagram: communication between components](images/k8s-arch4-thanks-luxas.png) + +--- + ## Some controllers - `kube-controller-manager` runs built-on controllers diff --git a/slides/k8s/kubectlexpose.md b/slides/k8s/kubectlexpose.md index 90b74fc1..00aaafef 100644 --- a/slides/k8s/kubectlexpose.md +++ b/slides/k8s/kubectlexpose.md @@ -1,62 +1,6 @@ # Exposing containers -- We can connect to our pods using their IP address - -- Then we need to figure out a lot of things: - - - how do we look up the IP address of the pod(s)? - - - how do we connect from outside the cluster? - - - how do we load balance traffic? - - - what if a pod fails? - -- Kubernetes has a resource type named *Service* - -- Services address all these questions! - ---- - -## Services in a nutshell - -- Services give us a *stable endpoint* to connect to a pod or a group of pods - -- An easy way to create a service is to use `kubectl expose` - -- If we have a deployment named `my-little-deploy`, we can run: - - `kubectl expose deployment my-little-deploy --port=80` - - ... and this will create a service with the same name (`my-little-deploy`) - -- Services are automatically added to an internal DNS zone - - (in the example above, our code can now connect to http://my-little-deploy/) - ---- - -## Advantages of services - -- We don't need to look up the IP address of the pod(s) - - (we resolve the IP address of the service using DNS) - -- There are multiple service types; some of them allow external traffic - - (e.g. `LoadBalancer` and `NodePort`) - -- Services provide load balancing - - (for both internal and external traffic) - -- Service addresses are independent from pods' addresses - - (when a pod fails, the service seamlessly sends traffic to its replacement) - ---- - -## Many kinds and flavors of service +- A little reminder on Services! - There are different types of services: @@ -229,76 +173,6 @@ class: pic --- -## Running containers with open ports - -- Since `ping` doesn't have anything to connect to, we'll have to run something else - -- We could use the `nginx` official image, but ... - - ... we wouldn't be able to tell the backends from each other! - -- We are going to use `jpetazzo/color`, a tiny HTTP server written in Go - -- `jpetazzo/color` listens on port 80 - -- It serves a page showing the pod's name - - (this will be useful when checking load balancing behavior) - ---- - -## Creating a deployment for our HTTP server - -- We will create a deployment with `kubectl create deployment` - -- Then we will scale it with `kubectl scale` - -.lab[ - -- In another window, watch the pods (to see when they are created): - ```bash - kubectl get pods -w - ``` - - - -- Create a deployment for this very lightweight HTTP server: - ```bash - kubectl create deployment blue --image=jpetazzo/color - ``` - -- Scale it to 10 replicas: - ```bash - kubectl scale deployment blue --replicas=10 - ``` - -] - ---- - -## Exposing our deployment - -- We'll create a default `ClusterIP` service - -.lab[ - -- Expose the HTTP port of our server: - ```bash - kubectl expose deployment blue --port=80 - ``` - -- Look up which IP address was allocated: - ```bash - kubectl get service - ``` - -] - ---- - ## Services are layer 4 constructs - You can assign IP addresses to services, but they are still *layer 4* @@ -315,36 +189,6 @@ class: pic --- -## Testing our service - -- We will now send a few HTTP requests to our pods - -.lab[ - -- Let's obtain the IP address that was allocated for our service, *programmatically:* - ```bash - IP=$(kubectl get svc blue -o go-template --template '{{ .spec.clusterIP }}') - ``` - - - -- Send a few requests: - ```bash - curl http://$IP:80/ - ``` - -] - --- - -Try it a few times! Our requests are load balanced across multiple pods. - ---- - class: extra-details ## `ExternalName` @@ -434,18 +278,9 @@ class: extra-details - The endpoints are maintained and updated automatically by Kubernetes -.lab[ +- There is also *endpoint slices* -- Check the endpoints that Kubernetes has associated with our `blue` service: - ```bash - kubectl describe service blue - ``` - -] - -In the output, there will be a line starting with `Endpoints:`. - -That line will list a bunch of addresses in `host:port` format. + (in more recent version of Kubernetes; optimization for large clusters) --- diff --git a/slides/k8s/resource-limits.md b/slides/k8s/resource-limits.md index fc712a72..e17929bb 100644 --- a/slides/k8s/resource-limits.md +++ b/slides/k8s/resource-limits.md @@ -353,7 +353,7 @@ This set of resources makes sure that this service won't be killed (as long as i --- -# Defining min, max, and default resources +## Defining min, max, and default resources - We can create LimitRange objects to indicate any combination of: @@ -426,7 +426,7 @@ per Pod, but it's not [officially documented yet](https://github.com/kubernetes/ --- -# Namespace quotas +## Namespace quotas - We can also set quotas per namespace diff --git a/slides/kadm-fullday.yml b/slides/kadm-fullday.yml deleted file mode 100644 index ceda598b..00000000 --- a/slides/kadm-fullday.yml +++ /dev/null @@ -1,62 +0,0 @@ -title: | - Kubernetes - for Admins and Ops - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced -- static-pods-exercise - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - - k8s/prereqs-admin.md - - k8s/architecture.md - #- k8s/internal-apis.md - - k8s/deploymentslideshow.md - - k8s/dmuc.md -- - - k8s/multinode.md - - k8s/cni.md - - k8s/cni-internals.md - - k8s/interco.md -- - - k8s/apilb.md - #- k8s/setup-overview.md - #- k8s/setup-devel.md - #- k8s/setup-managed.md - #- k8s/setup-selfhosted.md - - k8s/cluster-upgrade.md - - k8s/cluster-backup.md - - k8s/staticpods.md -- - #- k8s/cloud-controller-manager.md - #- k8s/bootstrap.md - - k8s/control-plane-auth.md - - k8s/pod-security-intro.md - - k8s/pod-security-policies.md - - k8s/pod-security-admission.md - - k8s/user-cert.md - - k8s/csr-api.md - - k8s/openid-connect.md -- - #- k8s/lastwords-admin.md - - k8s/links.md - - shared/thankyou.md diff --git a/slides/kadm-twodays.yml b/slides/kadm-twodays.yml deleted file mode 100644 index d459bdf8..00000000 --- a/slides/kadm-twodays.yml +++ /dev/null @@ -1,92 +0,0 @@ -title: | - Kubernetes - for administrators - and operators - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -# DAY 1 -- - k8s/prereqs-admin.md - - k8s/architecture.md - - k8s/internal-apis.md - - k8s/deploymentslideshow.md - - k8s/dmuc.md -- - k8s/multinode.md - - k8s/cni.md - - k8s/cni-internals.md - - k8s/interco.md -- - k8s/apilb.md - - k8s/setup-overview.md - #- k8s/setup-devel.md - - k8s/setup-managed.md - - k8s/setup-selfhosted.md - - k8s/cluster-upgrade.md - - k8s/staticpods.md -- - k8s/cluster-backup.md - - k8s/cloud-controller-manager.md - - k8s/healthchecks.md - - k8s/healthchecks-more.md -# DAY 2 -- - k8s/kubercoins.md - - k8s/logs-cli.md - - k8s/logs-centralized.md - - k8s/authn-authz.md - - k8s/user-cert.md - - k8s/csr-api.md -- - k8s/openid-connect.md - - k8s/control-plane-auth.md - ###- k8s/bootstrap.md - - k8s/netpol.md - - k8s/pod-security-intro.md - - k8s/pod-security-policies.md - - k8s/pod-security-admission.md -- - k8s/resource-limits.md - - k8s/metrics-server.md - - k8s/cluster-sizing.md - - k8s/horizontal-pod-autoscaler.md -- - k8s/prometheus.md - #- k8s/prometheus-stack.md - - k8s/extending-api.md - - k8s/crd.md - - k8s/operators.md - - k8s/eck.md - ###- k8s/operators-design.md - ###- k8s/operators-example.md -# CONCLUSION -- - k8s/lastwords.md - - k8s/links.md - - shared/thankyou.md - - | - # (All content after this slide is bonus material) -# EXTRA -- - k8s/volumes.md - - k8s/configuration.md - - k8s/secrets.md - - k8s/statefulsets.md - - k8s/consul.md - - k8s/pv-pvc-sc.md - - k8s/volume-claim-templates.md - #- k8s/portworx.md - - k8s/openebs.md - - k8s/stateful-failover.md diff --git a/slides/kube-adv.yml b/slides/kube-adv.yml deleted file mode 100644 index 00fde2a9..00000000 --- a/slides/kube-adv.yml +++ /dev/null @@ -1,87 +0,0 @@ -title: | - Advanced - Kubernetes - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -#- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- #1 - - k8s/prereqs-admin.md - - k8s/architecture.md - - k8s/internal-apis.md - - k8s/deploymentslideshow.md - - k8s/dmuc.md -- #2 - - k8s/multinode.md - - k8s/cni.md - - k8s/interco.md -- #3 - - k8s/cni-internals.md - - k8s/apilb.md - - k8s/control-plane-auth.md - - | - # (Extra content) - - k8s/staticpods.md - - k8s/cluster-upgrade.md -- #4 - - k8s/kustomize.md - - k8s/helm-intro.md - - k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - - | - # (Extra content) - - k8s/helm-create-better-chart.md - - k8s/helm-dependencies.md - - k8s/helm-values-schema-validation.md - - k8s/helm-secrets.md -- #5 - - k8s/extending-api.md - - k8s/operators.md - - k8s/sealed-secrets.md - - k8s/crd.md -- #6 - - k8s/ingress-tls.md - - k8s/ingress-advanced.md - - k8s/cert-manager.md - - k8s/eck.md -- #7 - - k8s/admission.md - - k8s/kyverno.md -- #8 - - k8s/aggregation-layer.md - - k8s/metrics-server.md - - k8s/prometheus.md - - k8s/prometheus-stack.md - - k8s/hpa-v2.md -- #9 - - k8s/operators-design.md - - k8s/operators-example.md - - k8s/kubebuilder.md - - k8s/events.md - - k8s/finalizers.md - - | - # (Extra content) - - k8s/owners-and-dependents.md - - k8s/apiserver-deepdive.md - #- k8s/record.md - - shared/thankyou.md - diff --git a/slides/kube-fullday.yml b/slides/kube-fullday.yml deleted file mode 100644 index ebfb1feb..00000000 --- a/slides/kube-fullday.yml +++ /dev/null @@ -1,133 +0,0 @@ -title: | - Deploying and Scaling Microservices - with Kubernetes - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - #- k8s/versions-k8s.md - - shared/sampleapp.md - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md - - k8s/kubectlget.md -- - - k8s/kubectl-run.md - #- k8s/batch-jobs.md - - shared/declarative.md - - k8s/declarative.md - - k8s/deploymentslideshow.md - - k8s/kubenet.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - #- k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/exercise-wordsmith.md -- - - k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/logs-cli.md - - k8s/namespaces.md - - k8s/yamldeploy.md - - k8s/setup-overview.md - - k8s/setup-devel.md - #- k8s/setup-managed.md - #- k8s/setup-selfhosted.md -- - - k8s/dashboard.md - - k8s/rollout.md - - k8s/healthchecks.md - - k8s/ingress.md - #- k8s/volumes.md - - k8s/configuration.md - - k8s/secrets.md - - k8s/openebs.md - #- k8s/k9s.md - #- k8s/tilt.md - #- k8s/kubectlscale.md - #- k8s/scalingdockercoins.md - #- shared/hastyconclusions.md - #- k8s/daemonset.md - #- k8s/authoring-yaml.md - #- k8s/exercise-yaml.md - #- k8s/localkubeconfig.md - #- k8s/access-eks-cluster.md - #- k8s/accessinternal.md - #- k8s/kubectlproxy.md - #- k8s/healthchecks-more.md - #- k8s/record.md - #- k8s/ingress-tls.md - #- k8s/kustomize.md - #- k8s/helm-intro.md - #- k8s/helm-chart-format.md - #- k8s/helm-create-basic-chart.md - #- k8s/helm-create-better-chart.md - #- k8s/helm-dependencies.md - #- k8s/helm-values-schema-validation.md - #- k8s/helm-secrets.md - #- k8s/exercise-helm.md - #- k8s/gitlab.md - #- k8s/create-chart.md - #- k8s/create-more-charts.md - #- k8s/netpol.md - #- k8s/authn-authz.md - #- k8s/user-cert.md - #- k8s/csr-api.md - #- k8s/openid-connect.md - #- k8s/pod-security-intro.md - #- k8s/pod-security-policies.md - #- k8s/pod-security-admission.md - #- k8s/exercise-configmap.md - #- k8s/build-with-docker.md - #- k8s/build-with-kaniko.md - #- k8s/logs-centralized.md - #- k8s/prometheus.md - #- k8s/prometheus-stack.md - #- k8s/statefulsets.md - #- k8s/consul.md - #- k8s/pv-pvc-sc.md - #- k8s/volume-claim-templates.md - #- k8s/portworx.md - #- k8s/openebs.md - #- k8s/stateful-failover.md - #- k8s/extending-api.md - #- k8s/crd.md - #- k8s/admission.md - #- k8s/operators.md - #- k8s/operators-design.md - #- k8s/operators-example.md - #- k8s/staticpods.md - #- k8s/finalizers.md - #- k8s/owners-and-dependents.md - #- k8s/gitworkflows.md -- - #- k8s/whatsnext.md - - k8s/lastwords.md - #- k8s/links.md - - shared/thankyou.md diff --git a/slides/kube-halfday.yml b/slides/kube-halfday.yml deleted file mode 100644 index 268259fe..00000000 --- a/slides/kube-halfday.yml +++ /dev/null @@ -1,88 +0,0 @@ -title: | - Kubernetes 101 - - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/training-20180413-paris)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -#- logistics.md -# Bridget-specific; others use logistics.md -- logistics-bridget.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - - k8s/versions-k8s.md - - shared/sampleapp.md -# Bridget doesn't go into as much depth with compose - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md - - shared/declarative.md - - k8s/declarative.md - - k8s/kubenet.md - - k8s/kubectlget.md - - k8s/setup-overview.md - #- k8s/setup-devel.md - #- k8s/setup-managed.md - #- k8s/setup-selfhosted.md -- - k8s/kubectl-run.md - #- k8s/batch-jobs.md - #- k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/deploymentslideshow.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - #- k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/localkubeconfig.md - #- k8s/access-eks-cluster.md - #- k8s/accessinternal.md - #- k8s/kubectlproxy.md -- - k8s/dashboard.md - #- k8s/k9s.md - #- k8s/tilt.md - #- k8s/kubectlscale.md - - k8s/scalingdockercoins.md - - shared/hastyconclusions.md - - k8s/daemonset.md - - k8s/rollout.md - #- k8s/record.md -- - k8s/logs-cli.md -# Bridget hasn't added EFK yet - #- k8s/logs-centralized.md - - k8s/namespaces.md - - k8s/helm-intro.md - #- k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - #- k8s/helm-create-better-chart.md - #- k8s/helm-dependencies.md - #- k8s/helm-values-schema-validation.md - #- k8s/helm-secrets.md - #- k8s/kustomize.md - #- k8s/netpol.md - - k8s/whatsnext.md -# - k8s/links.md -# Bridget-specific - - k8s/links-bridget.md - - shared/thankyou.md diff --git a/slides/kube-selfpaced.yml b/slides/kube-selfpaced.yml deleted file mode 100644 index d62cc332..00000000 --- a/slides/kube-selfpaced.yml +++ /dev/null @@ -1,163 +0,0 @@ -title: | - Deploying and Scaling Microservices - with Docker and Kubernetes - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- in-person - -content: -- shared/title.md -#- logistics.md -- k8s/intro.md -- shared/about-slides.md -#- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - - k8s/versions-k8s.md - - shared/sampleapp.md - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md -- - - k8s/kubectlget.md - - k8s/kubectl-run.md - - k8s/batch-jobs.md - - k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/logs-cli.md - - shared/declarative.md - - k8s/declarative.md - - k8s/deploymentslideshow.md -- - - k8s/kubenet.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - - k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/exercise-wordsmith.md - - k8s/yamldeploy.md -- - - k8s/setup-overview.md - - k8s/setup-devel.md - - k8s/setup-managed.md - - k8s/setup-selfhosted.md - - k8s/dashboard.md - - k8s/k9s.md - - k8s/tilt.md - #- k8s/kubectlscale.md - - k8s/scalingdockercoins.md - - shared/hastyconclusions.md - - k8s/daemonset.md - - k8s/authoring-yaml.md - #- k8s/exercise-yaml.md -- - - k8s/rollout.md - - k8s/healthchecks.md - - k8s/healthchecks-more.md - - k8s/record.md -- - - k8s/namespaces.md - - k8s/localkubeconfig.md - #- k8s/access-eks-cluster.md - - k8s/accessinternal.md - - k8s/kubectlproxy.md -- - - k8s/ingress.md - - k8s/ingress-advanced.md - - k8s/ingress-tls.md - - k8s/cert-manager.md - - k8s/kustomize.md - - k8s/helm-intro.md - - k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - - k8s/helm-create-better-chart.md - - k8s/helm-dependencies.md - - k8s/helm-values-schema-validation.md - - k8s/helm-secrets.md - #- k8s/exercise-helm.md - - k8s/gitlab.md -- - - k8s/netpol.md - - k8s/authn-authz.md - - k8s/pod-security-intro.md - - k8s/pod-security-policies.md - - k8s/pod-security-admission.md - - k8s/user-cert.md - - k8s/csr-api.md - - k8s/openid-connect.md - - k8s/control-plane-auth.md -- - - k8s/volumes.md - #- k8s/exercise-configmap.md - - k8s/build-with-docker.md - - k8s/build-with-kaniko.md -- - - k8s/configuration.md - - k8s/secrets.md - - k8s/statefulsets.md - - k8s/consul.md - - k8s/pv-pvc-sc.md - - k8s/volume-claim-templates.md - - k8s/portworx.md - - k8s/openebs.md - - k8s/stateful-failover.md -- - - k8s/logs-centralized.md - - k8s/prometheus.md - - k8s/prometheus-stack.md - - k8s/resource-limits.md - - k8s/metrics-server.md - - k8s/cluster-sizing.md - - k8s/cluster-autoscaler.md - - k8s/horizontal-pod-autoscaler.md - - k8s/hpa-v2.md -- - - k8s/extending-api.md - - k8s/apiserver-deepdive.md - - k8s/crd.md - - k8s/aggregation-layer.md - - k8s/admission.md - - k8s/operators.md - - k8s/operators-design.md - - k8s/operators-example.md - - k8s/kubebuilder.md - - k8s/sealed-secrets.md - - k8s/kyverno.md - - k8s/eck.md - - k8s/finalizers.md - - k8s/owners-and-dependents.md - - k8s/events.md -- - - k8s/dmuc.md - - k8s/multinode.md - - k8s/cni.md - - k8s/cni-internals.md - - k8s/apilb.md - - k8s/staticpods.md -- - - k8s/cluster-upgrade.md - - k8s/cluster-backup.md - - k8s/cloud-controller-manager.md - - k8s/gitworkflows.md -- - - k8s/lastwords.md - - k8s/links.md - - shared/thankyou.md diff --git a/slides/kube-twodays.yml b/slides/kube-twodays.yml deleted file mode 100644 index 38859f51..00000000 --- a/slides/kube-twodays.yml +++ /dev/null @@ -1,132 +0,0 @@ -title: | - Deploying and Scaling Microservices - with Kubernetes - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - #- k8s/versions-k8s.md - - shared/sampleapp.md - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md - - k8s/kubectlget.md -- - - k8s/kubectl-run.md - - k8s/batch-jobs.md - - k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/logs-cli.md - - shared/declarative.md - - k8s/declarative.md - - k8s/deploymentslideshow.md - - k8s/kubenet.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - #- k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/exercise-wordsmith.md -- - - k8s/yamldeploy.md - - k8s/setup-overview.md - - k8s/setup-devel.md - #- k8s/setup-managed.md - #- k8s/setup-selfhosted.md - - k8s/dashboard.md - - k8s/k9s.md - #- k8s/tilt.md - #- k8s/kubectlscale.md - - k8s/scalingdockercoins.md - - shared/hastyconclusions.md - - k8s/daemonset.md - - k8s/authoring-yaml.md - #- k8s/exercise-yaml.md -- - - k8s/localkubeconfig.md - #- k8s/access-eks-cluster.md - - k8s/accessinternal.md - #- k8s/kubectlproxy.md - - k8s/rollout.md - - k8s/healthchecks.md - #- k8s/healthchecks-more.md - - k8s/record.md -- - - k8s/namespaces.md - - k8s/ingress.md - #- k8s/ingress-advanced.md - #- k8s/ingress-tls.md - - k8s/kustomize.md - - k8s/helm-intro.md - - k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - - k8s/helm-create-better-chart.md - - k8s/helm-dependencies.md - - k8s/helm-values-schema-validation.md - - k8s/helm-secrets.md - #- k8s/exercise-helm.md - - k8s/gitlab.md -- - - k8s/netpol.md - - k8s/authn-authz.md - #- k8s/csr-api.md - #- k8s/openid-connect.md - #- k8s/pod-security-intro.md - #- k8s/pod-security-policies.md - #- k8s/pod-security-admission.md -- - - k8s/volumes.md - #- k8s/exercise-configmap.md - #- k8s/build-with-docker.md - #- k8s/build-with-kaniko.md - - k8s/configuration.md - - k8s/secrets.md - - k8s/logs-centralized.md - #- k8s/prometheus.md - #- k8s/prometheus-stack.md -- - - k8s/statefulsets.md - - k8s/consul.md - - k8s/pv-pvc-sc.md - - k8s/volume-claim-templates.md - #- k8s/portworx.md - - k8s/openebs.md - - k8s/stateful-failover.md - #- k8s/extending-api.md - #- k8s/admission.md - #- k8s/operators.md - #- k8s/operators-design.md - #- k8s/operators-example.md - #- k8s/staticpods.md - #- k8s/owners-and-dependents.md - #- k8s/gitworkflows.md -- - - k8s/whatsnext.md - - k8s/lastwords.md - - k8s/links.md - - shared/thankyou.md diff --git a/slides/kube.yml b/slides/kube.yml new file mode 100644 index 00000000..8622438a --- /dev/null +++ b/slides/kube.yml @@ -0,0 +1,122 @@ +title: | + Advanced Kubernetes + +chat: "[#training_k8s_jan18](https://elastic.slack.com/archives/C02SMC577T4)" + +gitrepo: github.com/jpetazzo/container.training + +slides: https://2022-01-elastic.container.training/ + +#slidenumberprefix: "#SomeHashTag — " + +exclude: +- self-paced + +content: +- shared/title.md +- logistics.md +- k8s/intro.md +- shared/about-slides.md +- shared/chat-room-im.md +- | + ## Recording + + - This is recorded! + + - At the end of each day, we'll share the links to the recording in Slack + + - We have three slots of asynchronous Q&A time + + - That means: it's OK to ask questions about yesterday's content! + + (it's even encouraged ♥) +#- shared/chat-room-slack.md +- shared/toc.md +- # TUESDAY + #- shared/prereqs.md + #- shared/webssh.md + - shared/connecting.md + #- k8s/batch-jobs.md + #- shared/declarative.md + #- k8s/declarative.md + #- k8s/deploymentslideshow.md + #- k8s/kubenet.md + #- k8s/k9s.md + #- k8s/tilt.md + #- k8s/authoring-yaml.md + - k8s/demo-apps.md + - k8s/kubectlexpose.md + - k8s/ingress.md + #- k8s/ingress-tls.md + - k8s/ingress-advanced.md + - k8s/resource-limits.md + - k8s/metrics-server.md + - k8s/cluster-sizing.md + - k8s/cluster-autoscaler.md + - terraform/intro.md + - terraform/quickstart.md + - terraform/quickstart-gke.md + - terraform/nodepools.md + - terraform/nodepools-gke.md + - terraform/variables.md + - terraform/state.md + - exercises/tf-nodepools-details.md +- # WEDNESDAY + - k8s/netpol.md + - k8s/authn-authz.md + - k8s/extending-api.md + - k8s/apiserver-deepdive.md + - k8s/crd.md + - | + # Terraform - part 2 + + - GKE networking specifics + + - Cluster types (routes-based vs VPC-native) + + - Provisioning Kubernetes resources + - terraform/networking-gke.md + - terraform/kubernetes.md +- # THURSDAY + - k8s/dmuc.md + - k8s/multinode.md + - k8s/cni.md + - k8s/cni-internals.md + - k8s/apilb.md + - k8s/staticpods.md + - k8s/cluster-upgrade.md +- # FRIDAY + - k8s/statefulsets.md + - k8s/consul.md + - k8s/pv-pvc-sc.md + - k8s/volume-claim-templates.md + - k8s/openebs.md + - k8s/stateful-failover.md + - k8s/cluster-backup.md + - shared/thankyou.md +- # + - | + # The Secret Lives Of Pods + + *In hommage to [“The Secret Lives Of Data”](http://thesecretlivesofdata.com/)* + + - k8s/deploymentslideshow.md + - | + # Kubernetes Network Lasagna Dish + + The three layers of Kubernetes networking. + --- + class: pic + ![Overview of the three Kubernetes network layers](images/k8s-net-0-overview.svg) + --- + class: pic + ![Pod-to-pod network](images/k8s-net-1-pod-to-pod.svg) + --- + class: pic + ![Pod-to-service network](images/k8s-net-2-pod-to-svc.svg) + --- + class: pic + ![Network policies](images/k8s-net-3-netpol.svg) + --- + class: pic + ![View with all the layers again](images/k8s-net-4-overview.svg) diff --git a/slides/logistics-template.md b/slides/logistics-template.md index 932eddb2..50db39d9 100644 --- a/slides/logistics-template.md +++ b/slides/logistics-template.md @@ -1,81 +1,23 @@ ## Introductions -⚠️ This slide should be customized by the tutorial instructor(s). - - +- We'll also have 1 hour of open Q&A on Wed, Thu, Fri - - - - - - - - - +- Check your calendars to get the schedule adjusted to your timezone! [@alexbuisine]: https://twitter.com/alexbuisine [EphemeraSearch]: https://ephemerasearch.com/ [@jpetazzo]: https://twitter.com/jpetazzo [@s0ulshake]: https://twitter.com/s0ulshake [Quantgene]: https://www.quantgene.com/ - ---- - -## Exercises - -- At the end of each day, there is a series of exercises - -- To make the most out of the training, please try the exercises! - - (it will help to practice and memorize the content of the day) - -- We recommend to take at least one hour to work on the exercises - - (if you understood the content of the day, it will be much faster) - -- Each day will start with a quick review of the exercises of the previous day diff --git a/slides/shared/connecting.md b/slides/shared/connecting.md index 48b1f12c..fe9ef566 100644 --- a/slides/shared/connecting.md +++ b/slides/shared/connecting.md @@ -54,26 +54,6 @@ class: in-person --- -## Doing or re-doing the workshop on your own? - -- Use something like - [Play-With-Docker](http://play-with-docker.com/) or - [Play-With-Kubernetes](https://training.play-with-kubernetes.com/) - - Zero setup effort; but environment are short-lived and - might have limited resources - -- Create your own cluster (local or cloud VMs) - - Small setup effort; small cost; flexible environments - -- Create a bunch of clusters for you and your friends - ([instructions](https://@@GITREPO@@/tree/master/prepare-vms)) - - Bigger setup effort; ideal for group training - ---- - ## For a consistent Kubernetes experience ... - If you are using your own Kubernetes cluster, you can use [jpetazzo/shpod](https://github.com/jpetazzo/shpod) diff --git a/slides/swarm-fullday.yml b/slides/swarm-fullday.yml deleted file mode 100644 index dba4b4e6..00000000 --- a/slides/swarm-fullday.yml +++ /dev/null @@ -1,71 +0,0 @@ -title: | - Container Orchestration - with Docker and Swarm - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced -- snap -- btp-auto -- benchmarking -- elk-manual -- prom-manual - -content: -- shared/title.md -- logistics.md -- swarm/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - shared/prereqs.md - - shared/connecting.md - - swarm/versions.md - - shared/sampleapp.md - - shared/composescale.md - - shared/hastyconclusions.md - - shared/composedown.md - - swarm/swarmkit.md - - shared/declarative.md - - swarm/swarmmode.md - - swarm/creatingswarm.md - #- swarm/machine.md - - swarm/morenodes.md -- - swarm/firstservice.md - - swarm/ourapponswarm.md - - swarm/hostingregistry.md - - swarm/testingregistry.md - - swarm/btp-manual.md - - swarm/swarmready.md - - swarm/stacks.md - - swarm/cicd.md - - swarm/updatingservices.md - - swarm/rollingupdates.md - - swarm/healthchecks.md -- - swarm/operatingswarm.md - - swarm/netshoot.md - - swarm/ipsec.md - - swarm/swarmtools.md - - swarm/security.md - - swarm/secrets.md - - swarm/encryptionatrest.md - - swarm/leastprivilege.md - - swarm/apiscope.md -- - swarm/logging.md - - swarm/metrics.md - - swarm/gui.md - - swarm/stateful.md - - swarm/extratips.md - - shared/thankyou.md - - swarm/links.md diff --git a/slides/swarm-halfday.yml b/slides/swarm-halfday.yml deleted file mode 100644 index 3524d096..00000000 --- a/slides/swarm-halfday.yml +++ /dev/null @@ -1,70 +0,0 @@ -title: | - Container Orchestration - with Docker and Swarm - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced -- snap -- btp-manual -- benchmarking -- elk-manual -- prom-manual - -content: -- shared/title.md -- logistics.md -- swarm/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - shared/prereqs.md - - shared/connecting.md - - swarm/versions.md - - shared/sampleapp.md - - shared/composescale.md - - shared/hastyconclusions.md - - shared/composedown.md - - swarm/swarmkit.md - - shared/declarative.md - - swarm/swarmmode.md - - swarm/creatingswarm.md - #- swarm/machine.md - - swarm/morenodes.md -- - swarm/firstservice.md - - swarm/ourapponswarm.md - #- swarm/hostingregistry.md - #- swarm/testingregistry.md - #- swarm/btp-manual.md - #- swarm/swarmready.md - - swarm/stacks.md - - swarm/cicd.md - - swarm/updatingservices.md - #- swarm/rollingupdates.md - #- swarm/healthchecks.md -- - swarm/operatingswarm.md - #- swarm/netshoot.md - #- swarm/ipsec.md - #- swarm/swarmtools.md - - swarm/security.md - #- swarm/secrets.md - #- swarm/encryptionatrest.md - - swarm/leastprivilege.md - - swarm/apiscope.md - - swarm/logging.md - - swarm/metrics.md - #- swarm/stateful.md - #- swarm/extratips.md - - shared/thankyou.md - - swarm/links.md diff --git a/slides/swarm-selfpaced.yml b/slides/swarm-selfpaced.yml deleted file mode 100644 index da3b7532..00000000 --- a/slides/swarm-selfpaced.yml +++ /dev/null @@ -1,79 +0,0 @@ -title: | - Container Orchestration - with Docker and Swarm - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- in-person -- btp-auto - -content: -- shared/title.md -#- shared/logistics.md -- swarm/intro.md -- shared/about-slides.md -#- shared/chat-room-im.md -#- shared/chat-room-slack.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - shared/prereqs.md - - shared/connecting.md - - swarm/versions.md - - | - name: part-1 - - class: title, self-paced - - Part 1 - - shared/sampleapp.md - - shared/composescale.md - - shared/hastyconclusions.md - - shared/composedown.md - - swarm/swarmkit.md - - shared/declarative.md - - swarm/swarmmode.md - - swarm/creatingswarm.md - #- swarm/machine.md - - swarm/morenodes.md -- - swarm/firstservice.md - - swarm/ourapponswarm.md - - swarm/hostingregistry.md - - swarm/testingregistry.md - - swarm/btp-manual.md - - swarm/swarmready.md - - swarm/stacks.md - - swarm/cicd.md - - | - name: part-2 - - class: title, self-paced - - Part 2 -- - swarm/operatingswarm.md - - swarm/netshoot.md - - swarm/swarmnbt.md - - swarm/ipsec.md - - swarm/updatingservices.md - - swarm/rollingupdates.md - - swarm/healthchecks.md - - swarm/nodeinfo.md - - swarm/swarmtools.md -- - swarm/security.md - - swarm/secrets.md - - swarm/encryptionatrest.md - - swarm/leastprivilege.md - - swarm/apiscope.md - - swarm/logging.md - - swarm/metrics.md - - swarm/stateful.md - - swarm/extratips.md - - shared/thankyou.md - - swarm/links.md diff --git a/slides/swarm-video.yml b/slides/swarm-video.yml deleted file mode 100644 index 209f9e58..00000000 --- a/slides/swarm-video.yml +++ /dev/null @@ -1,74 +0,0 @@ -title: | - Container Orchestration - with Docker and Swarm - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- in-person -- btp-auto - -content: -- shared/title.md -#- shared/logistics.md -- swarm/intro.md -- shared/about-slides.md -- shared/toc.md -- - shared/prereqs.md - - shared/connecting.md - - swarm/versions.md - - | - name: part-1 - - class: title, self-paced - - Part 1 - - shared/sampleapp.md - - shared/composescale.md - - shared/hastyconclusions.md - - shared/composedown.md - - swarm/swarmkit.md - - shared/declarative.md - - swarm/swarmmode.md - - swarm/creatingswarm.md - #- swarm/machine.md - - swarm/morenodes.md -- - swarm/firstservice.md - - swarm/ourapponswarm.md - - swarm/hostingregistry.md - - swarm/testingregistry.md - - swarm/btp-manual.md - - swarm/swarmready.md - - swarm/stacks.md - - | - name: part-2 - - class: title, self-paced - - Part 2 -- - swarm/operatingswarm.md - #- swarm/netshoot.md - #- swarm/swarmnbt.md - - swarm/ipsec.md - - swarm/updatingservices.md - - swarm/rollingupdates.md - #- swarm/healthchecks.md - - swarm/nodeinfo.md - - swarm/swarmtools.md -- - swarm/security.md - - swarm/secrets.md - - swarm/encryptionatrest.md - - swarm/leastprivilege.md - - swarm/apiscope.md - #- swarm/logging.md - #- swarm/metrics.md - - swarm/stateful.md - - swarm/extratips.md - - shared/thankyou.md - - swarm/links.md diff --git a/slides/terraform/intro.md b/slides/terraform/intro.md index 95c56318..e07f1e34 100644 --- a/slides/terraform/intro.md +++ b/slides/terraform/intro.md @@ -1,4 +1,4 @@ -# Terraform +# Terraform - part 1 “An open-source **infrastructure as code** software tool created by HashiCorp¹.”