
Explore the Kubernetes architecture, identifying master and worker nodes and the api server, control manager, and scheduler that govern the cluster and pods.
Explore how Kubernetes uses pods to encapsulate containers, contrasting Docker run with pod deployment, scaling by adding pods, and using a main container with a helper container.
Learn how YAML works as a data serialization language, using indentation to represent dictionaries and lists, and write key-value pairs to configure tools such as GitHub, CI/CD pipelines, and Kubernetes.
Learn to create and manage Kubernetes namespaces, isolate teams, deploy pods and other objects with kubectl or YAML, and delete namespaces with all their resources.
Explore using environment variables in Kubernetes to pass data to containers, demonstrated with a Flask app, Docker, and a NodePort service.
Learn to create ConfigMaps in Kubernetes using imperative and declarative methods, from files, directories, or literals, and understand the role of storing configuration data and how to delete them.
Create a config map from a Redis config file and mount it as a volume in a Redis pod, then verify the data with kubectl.
Learn to set container environment variables in Kubernetes using ConfigMaps, including using configMapKeyRef and envFrom to supply MySQL credentials and other values, while noting secrets for sensitive data.
Learn to create Kubernetes secret objects using imperative methods with kubectl, from file, from directory, or from literal, and via declarative yaml, with data stored in base64.
Learn how to create a Kubernetes secret, mount it as a read-only volume to an nginx pod, and access username and password files under /etc/foo.
Learn to use Kubernetes secrets to set container environment variables in a MySQL pod, creating a secret object and wiring env vars from it for root and John access.
Daemonsets ensure an instance of an app runs on every node and automatically deploys to new nodes, enabling node-wide monitoring in a Kubernetes cluster.
Learn to create and manage daemonsets in Kubernetes, automatically deploying pods on all nodes with node selectors. See how to target specific nodes with node selectors and verify pod placement.
Stateful sets ensure sequential pod creation and stable addresses for stateful databases in Kubernetes, so the master starts first and slaves replicate with constant master addresses.
Create a MySQL stateful set from a YAML file, deploy pods sequentially, and test scale up and down and pod failure with a headless service to maintain stable addresses.
Explore why headless services in Kubernetes direct write traffic to the MySQL master while enabling reads on masters or slaves, using cluster ip and node port services.
Discover how Kubernetes jobs and cron jobs run one-off and scheduled tasks, while deployments keep apps like React, Django, and MySQL running.
Learn how to create and manage Kubernetes jobs with yaml, run pods via kubectl to perform tasks, and monitor completion, parallelism, backoff limits, deadlines, including cron jobs.
Demonstrate how to create a Kubernetes cron job from a yaml file, configure the schedule to run a pod every minute that prints the time and hello.
Kubernetes is an open-source platform for managing containerized applications across multiple hosts. It offers a rich set of features that facilitate application deployment, scaling, and operations, and this makes it one of the hottest topics right now.
By taking this course you will learn Kubernetes concepts beyond the basics such as environment variables, ConfigMaps, Secrets, DaemonSets and more with hands-on labs.
You will learn how to store data in ConfigMaps and then inject them to pods for setting environment variables, or by mounting them as volumes. We learn also about Secrets in Kubernetes, which is the right place for storing sensitive data.
You will discover also alternative mechanisms for deploying pods in Kubernetes, aside from using deployments, which can be the right solution for certain use cases
Requirements for this Course:
Basic knowledge of Kubernetes such as Yaml, pods, ReplicaSets, Deployments
Who this course is for:
Anyone who wants to enhance their skills in orchestrating containers with Kubernetes.
Those who are already familiar with the basics of Kubernetes and want to learn more advanced Kubernetes concepts.
What you’ll learn
How set environment variables in Kubernetes?
How to create ConfigMaps?
How to use ConfigMaps for setting environment variables?
How to mount ConfigMaps as volumes?
How to create Secrets?
How to use Secrets for setting environment variables?
How to mount Secrets as volumes?
deploying pods using DaemonSets
Deploying pods using StatefulSets
Working with Jobs and CronJobs in Kubernetes