diff --git a/slides/assignments/TODO.txt b/slides/assignments/TODO.txt new file mode 100644 index 00000000..e3b4caf8 --- /dev/null +++ b/slides/assignments/TODO.txt @@ -0,0 +1,34 @@ +# Our sample application + +No assignment + +# Kubernetes concepts + +Do we want some kind of multiple-choice quiz? + +# First contact with kubectl + +Start some pre-defined image and check its logs +(Do we want to make a custom "mystery image" that shows a message +and then sleeps forever?) + +Start another one (to make sure they understand that they need +to specify a unique name each time) + +Provide as many ways as you can to figure out on which node +these pods are running (even if you only have one node). + +# Exposing containers + +Start a container running the official tomcat image. +Expose it. +Connect to it. + +# Shipping apps + +(We need a few images for a demo app other than DockerCoins?) + +Start the components of the app. +Expose what needs to be exposed. +Connect to the app and check that it works. + diff --git a/slides/assignments/setup.md b/slides/assignments/setup.md new file mode 100644 index 00000000..85a44407 --- /dev/null +++ b/slides/assignments/setup.md @@ -0,0 +1,105 @@ +## Assignment: get Kubernetes + +- In order to do the other assignments, we need a Kubernetes cluster + +- Here are some *free* options: + + - Docker Desktop + + - Minikube + + - Online sandbox like Katacoda + +- You can also get a managed cluster (but this costs some money) + +--- + +## Recommendation 1: Docker Desktop + +- If you are already using Docker Desktop, use it for Kubernetes + +- If you are running MacOS, [install Docker Desktop](https://docs.docker.com/docker-for-mac/install/) + + - you will need a post-2010 Mac + + - you will need macOS Sierra 10.12 or later + +- If you are running Windows 10, [install Docker Desktop](https://docs.docker.com/docker-for-windows/install/) + + - you will need Windows 10 64 bits Pro, Enterprise, or Education + + - virtualization needs to be enabled in your BIOS + +- Then [enable Kubernetes](https://blog.docker.com/2018/07/kubernetes-is-now-available-in-docker-desktop-stable-channel/) if it's not already on + +--- + +## Recommendation 2: Minikube + +- In some scenarios, you can't use Docker Desktop: + + - if you run Linux + + - if you are running an unsupported version of Windows + +- You might also want to install Minikube for other reasons + + (there are more tutorials and instructions out there for Minikube) + +- Minikube installation is a bit more complex + + (depending on which hypervisor and OS you are using) + +--- + +## Minikube installation details + +- Minikube typically runs in a local virtual machine + +- It supports multiple hypervisors: + + - VirtualBox (Linux, Mac, Windows) + + - HyperV (Windows) + + - HyperKit, VMware (Mac) + + - KVM (Linux) + +- Check the [documentation](https://kubernetes.io/docs/tasks/tools/install-minikube/) for details relevant to your setup + +--- + +## Recommendation 3: learning platform + +- Sometimes, you can't even install Minikube + + (computer locked by IT policies; insufficient resources...) + +- In that case, you can use a platform like: + + - Katacoda + + - Play-with-Kubernetes + +--- + +## Recommendation 4: hosted cluster + +- You can also get your own hosted cluster + +- This will cost a little bit of money + + (unless you have free hosting credits) + +- Setup will vary depending on the provider, platform, etc. + +--- + +class: assignment + +- Make sure that you have a Kubernetes cluster + +- You should be able to run `kubectl get nodes` and see a list of nodes + +- These nodes should be in `Ready` state diff --git a/slides/kube-selfpaced.yml b/slides/kube-selfpaced.yml index 2c23b1d7..d1c75937 100644 --- a/slides/kube-selfpaced.yml +++ b/slides/kube-selfpaced.yml @@ -22,6 +22,7 @@ chapters: - - shared/prereqs.md - shared/connecting.md - k8s/versions-k8s.md + - assignments/setup.md - shared/sampleapp.md - shared/composescale.md - shared/hastyconclusions.md