From Software Developer to DevOps Wizard
Course description
You’ve been told that you now need to deploy your applications on Kubernetes but where do you get started? You’ve come to the right place. Kubernetes can be very intimidating at first. Especially if you aren’t used to containers.
In this course, you will learn the basics of Docker container and see how you can use those skills to prepare your application to be deployed in the cloud.
In the second part of the course, we will focus more on Kubernetes and how you can deploy the containers you’re now capable of creating, into that platform.
This course is divided in two different major parts. The first one focuses on containers (more specifically Docker containers), while the second part is really focused on Kubernetes.
You will learn to:
- What is a container
- How to use containers locally
- Connecting containers together in a local environment
- Building your own images
- Use Docker-compose to create local environments
- Basic Kubernetes building blocks
- Exposing your application
- Persisting data
- Deploy microservices
- Create Cron Jobs
Structure:
Part 1 – Containers and Docker
- Lesson 1 – Intro
- Lesson 2 – Starting the application
- Lesson 3 – Running Your First Container
- Lesson 4 – Containerize the Back-end
- Lesson 5 – Networking in Docker
- Lesson 6 – Containerize the front end with a multi-step build
- Lesson 7 – Using Environment Variables In Front-End Applications
- Lesson 7b – Using jq to modify environment variables
- Lesson 8 – Creating non-root images
- Lesson 9 – Share images on public registries
- Lesson 10 – Using Docker Compose To Share An Entire Application
Part 2 – Kubernetes
- Lesson 1 – Intro to Kubernetes
- Lesson 2 – Create your first pod
- Lesson 3 – Create a Toolbox pod
- Lesson 4 – Create the front-end deployment
- Lesson 5 – Create the front end service
- Lesson 6 – Expose Your Application To The Outside World
- Lesson 7 – Kubernetize the back-end
- Lesson 8 – Use paths to expose multiple services
- Lesson 9 – Change Environment Variables For A Deployment
- Lesson 10 – Persist Data And Volumes
- Lesson 11 – Deploy Your Database
- Lesson 12 – Seed the Database And Connect The Backend
- Lesson 13 – Unmonolithize Your Backend
- Lesson 14 – Clean Up Regularly With A Cron Job
- Lesson 15 – This Is The End
Prerequisites
This course doesn’t have any prerequisites.
The code samples are in JavaScript so it can be useful (but not necessary) to have some basic general knowledge of the language.
Most of this course will focus on command line instructions so basic knowledge of Unix command lines is useful but not a requirement. Instructions that are not as common will be explained as we encounter them.
All examples will run in a Linux operating system. They have been tested successfully on Mac OS. Everything should also work when using the WSL under Windows.
You should have Docker installed on your machine prior to this course.