Frequently asked questions
Who is this course designed for?
This course is designed for multiple technical roles:
-
Software Engineers and Developers who want to modernize their deployment workflows and build cloud-native applications will gain the containerization skills needed to package applications with all dependencies and deploy them consistently across any environment.
-
DevOps Engineers and Platform Engineers seeking to deepen their container orchestration expertise will learn advanced Kubernetes patterns including StatefulSets, custom resource management, RBAC implementation, and multi-environment deployments with Kustomize.
-
System Administrators and IT Professionals transitioning to cloud-native infrastructure will understand how to migrate traditional applications to containers, manage resources efficiently, and implement security policies in Kubernetes clusters.
-
Technical Leads and Architects evaluating container technologies for their organizations will gain the deep technical knowledge needed to make informed architectural decisions about when and how to implement Docker and Kubernetes in production systems.
What prior knowledge do I need before taking this course?
You should have familiarity with any programming language to understand the application examples used throughout the course. Basic comfort with running commands in the terminal and using the command line is highly recommended, as you will be working extensively with Docker and kubectl command-line tools.
No prior knowledge of Docker or Kubernetes is required. The course starts from the fundamentals and builds your knowledge progressively through hands-on exercises.
What software or hardware do I need for the hands-on labs?
Operating System: You can complete this course on macOS, Linux, or Windows. The course includes installation instructions for all three platforms.
Required Softare:
- Docker Desktop (free for personal use) or Docker Engine
- kubectl command-line tool (installation covered in the course)
-
Minikube or another local Kubernetes environment (installation covered in the course)
-
A code editor (Visual Studio Code, Sublime Text, or similar)
-
Git for version control
Hardware Requirements:
- At least 8GB of RAM (16GB recommended for running local Kubernetes clusters smoothly)
- At least 20GB of free disk space for Docker images and Kubernetes resources
- A modern CPU with virtualization support enabled
All installation steps are covered in dedicated lectures with separate instructions for each operating system.
Will I incur costs from the cloud provider while taking this course?
The majority of the course can be completed entirely for free using local tools like Docker Desktop and Minikube.
Optional Cloud Costs: The final project section deploys an application to Google Kubernetes Engine (GKE), which may incur minimal costs. However, Google Cloud offers a generous free tier with $300 in credits for new users, which is more than sufficient to complete the project. If you carefully follow the cleanup instructions provided at the end of the project, your costs should remain within the free tier.
The course includes detailed guidance on creating your Google Cloud account and activating free credits, understanding cost estimates before deploying resources, and properly cleaning up resources to avoid unexpected charges.
Does this course cover Helm for Kubernetes package management?
This course focuses on core Kubernetes concepts and native tools to build a solid foundation. We cover Kustomize extensively for managing configurations across multiple environments, which is a native Kubernetes solution that provides powerful customization capabilities without requiring external templating languages.
We do offer a complete Helm course, and the deep understanding you will gain of Kubernetes manifests, deployments, services, ConfigMaps, and Secrets will prepare you well to learn it quickly!
Do I need to know Go to succeed in this course?
No, you do not need to know Go. The course uses Node.js with Express for application examples, which are simple enough to follow even if you are not a Node.js expert. The focus is on containerizing and deploying applications, not on complex application development.
The concepts you learn apply to applications written in any language including Python, Java, Go, Ruby, PHP, and others. Docker and Kubernetes are language-agnostic tools, so the skills you acquire will transfer directly to whatever programming languages your projects use.