
Explore the fundamentals of Kubernetes, including its definitions and open-source container orchestration. Learn how it handles deployment, scaling, health monitoring, and disaster recovery across containers.
Install and configure Kubernetes across on-prem or cloud servers, manage services and ports, and implement infrastructure as code with YAML.
Explore Kubernetes components and architecture, including master and worker nodes, containers, ports, and key parts like API server, GCD, scheduler, and kube-proxy.
Explore Kubernetes architecture, pods, and their ephemeral ports, and learn how services provide stable IPs and selectors to connect apps while ingress enables external access and load balancing.
Learn how config maps and secrets externalize configuration and credentials away from images, enabling seamless endpoint updates. Understand volumes, deployments, and stateful sets for persistent storage and scalable replicas.
Learn to set up a Kubernetes cluster on Amazon Web Services, create master and worker nodes, install kubectl, and configure related resources like S3, IAM, and Route 53.
Learn to set up a kubernetes cluster on aws by provisioning an ubuntu instance in ap southeast one, install kubectl, configure iam roles, and create s3 and route 53 resources.
Explore Kubernetes cluster creation from a bucket definition, export environment variables for S3, generate a key pair, and provision master and worker nodes with validation.
Learn how to delete a Kubernetes cluster and clean up associated AWS resources, including DNS, VPC, auto scaling, S3 buckets, and Route 53, to avoid charges.
Create a Kubernetes cluster on AWS by provisioning EC2 master and worker nodes, installing Kubernetes, configuring Python and AWS CLI, setting up IAM roles, S3 bucket, and Route 53 DNS.
Configure a Kubernetes cluster on AWS by provisioning an Ubuntu instance in ap-southeast-1, installing kubectl and aws cli, and setting up a private hosted zone and s3 bucket.
Export environment variables for the s3 buckets and generate ssh keys to authenticate and create a kubernetes cluster from a bucket definition.
Navigate the master node to deploy a Kubernetes blueprint with NGINX replicas, expose via a load-balanced service, and manage DNS for public access, then follow deletion steps to avoid charges.
Explore how to set up a Kubernetes cluster on Ubuntu in cloud or bare metal using cube idiom, cops, and cube spray, guided by official documentation.
Launch two Ubuntu instances and configure master and worker nodes with kubeadm, Docker, and Kubernetes components, open security groups, set up keys, disable swap, enable iptables, and initialize the cluster.
Configure the Kubernetes master by disabling swap, setting up docker and the Ubuntu user, adjusting iptables, installing Kubernetes modules, and initializing the control plane while troubleshooting init errors.
Learn how to join a worker node to a Kubernetes cluster, resolve pre-flight checks, port conflicts, and daemon configuration, using the official join command with token and keys.
Join the worker node to the master cluster, troubleshoot pre-flight checks, deploy an nginx-like engine as a deployment, and expose it via a cluster IP service on port 80.
Explore mini cube, a one-node Kubernetes cluster for testing that runs master and worker on a single node with Docker and a Kubernetes command line tool, plus security port setup.
Install Minikube, configure memory and storage to meet requirements, resolve version-related errors, and deploy a container on the cluster with port exposure.
Review three Kubernetes installation options—mini cube, cube, and cops—and demonstrate deploying a pod, exposing a port, cleaning up services, and terminating instances with security group configurations.
Learn what Kubernetes is, its architecture, core concepts like pods, deployments, services, networking, and storage, and install using cube, ADM, Google Kubernetes Engine, plus run WordPress.
Discover how Kubernetes orchestrates container workloads, automates deployments and updates, and enables self-healing and scalable load balancing across pods and nodes.
Explore Kubernetes architecture, including the master and worker nodes, control plane components like etcd, API server, scheduler, and controller manager, and worker node components such as kubelet and container runtime.
Explore container orchestration as automation that deploys containers across a cluster of nodes, handles lifecycle management, provisioning, and scaling, and presents the cluster as a single deployment target.
Install Kubernetes on Ubuntu, set up Docker, add the Kubernetes apt repository and key, initialize the master, join nodes, deploy a pod network with flannel, and deploy an nginx service.
Install Kubernetes using kubeadm on Ubuntu, configure swap and iptables, install dependencies, set up kubectl, initialize master, join nodes, apply Calico networking, and deploy a sample pod.
Configure Google Kubernetes Engine by creating a Google Cloud project, enabling billing, and assigning IAM roles and a service account. Install Cloud SDK and activate a service account for GKE.
Explore the pod state and lifecycle as the basic unit of a Kubernetes cluster, detailing init containers, main containers, shared volumes, and lifecycle hooks like post-start and prestop.
Explore Kubernetes administration by mastering cloud native concepts, container orchestration, and Kubernetes objects: master, nodes, workloads, services, and config storage, while managing desired state and cluster configuration.
Learn how to access the Kubernetes API, implement authentication and authorization with RBAC, use kubectl and the config file, and manage cluster resources via role bindings and dashboards.
Learn how to package and deploy apps on a multi-node Kubernetes cluster on Ubuntu, including configuring hosts, disabling swap, and installing Docker and Kubernetes repositories.
Learn to install kubeadm, kubectl, kubelet, initialize a Kubernetes master with a pod network, apply Calico CNI, join nodes, and deploy an Apache container as a service.
Explore how Kubernetes creates overlay pod network across nodes with bridges and routing, enabling pod to pod communication, and how services expose deployments via cluster IP, nodeport, and load balancer.
Learn to scale Kubernetes clusters and applications by provisioning resources, managing deployments and pods, and scaling workloads based on CPU, memory, and queue length.
Set up and manage Kubernetes deployments, understand how deployments create replica sets and pods, perform rolling updates, scale, rollback, and track status using kubectl commands.
Set up jobs and cron jobs to reliably run pods to completion, using restart policies never or on failure, while daemonsets ensure pods on nodes with update strategy.
Explore Kubernetes controllers that manage pods to maintain desired states, including replication and deployment, and understand services, volumes, and persistent storage.
Kubernetes offers plugin based persistence volume types like aws ebs and gce persistent disk. A persistent volume claim binds to a volume or remains unbound; storage classes enable dynamic provisioning.
Learn to run WordPress on Kubernetes by creating persistent volume claims and volumes, configuring MySQL and WordPress deployments, and applying a customization.yaml with a secret generator.
Learn to install and manage Kubernetes clusters and deploy applications with rolling updates. Secure, network, and monitor workloads using persistent volumes, RBAC, and monitoring tools.
Install Kubernetes on Ubuntu 18.04 machines (master and two workers), set up Docker, add GPG keys and repositories, install kubelet kubeadm kubectl, configure bridge network, reboot before cluster initialization.
Initialize the Kubernetes cluster with kubeadm init, set the pod network CIDR, disable swap, install the flannel CNI, and verify nodes.
Learn how to add worker nodes to a Kubernetes cluster by generating a join token and running the join command on each node, then verify nodes show ready.
Learn how to cordon and drain worker nodes for maintenance in a Kubernetes cluster, including ignoring daemonsets during drain and removing nodes with kubeadm reset and delete.
Demonstrates testing a new Kubernetes cluster by deploying a sample to-do app, verifying pods and deployment, exposing a node port service, and accessing via port forwarding and a browser.
Learn how to schedule pods on a specific node by labeling nodes and using a node selector in a YAML deployment to target an SSD disk.
Learn how node affinity enables flexible pod scheduling in Kubernetes using required during scheduling and ignore during execution rules, balancing pods across region-labeled and disk-type labeled nodes.
Understand how to set pod resource requests and limits in Kubernetes, including CPU and memory, how requests must fit under limits, and how node selectors and pending scheduling affect deployment.
Learn to deploy applications with Kubernetes using deployments, manage replicas and rolling updates, scale pods, expose services with a node port, and perform rollbacks for zero-downtime production updates.
Learn how to update a Kubernetes deployment using YAML edits and image updates, then roll out, pause for canary testing, and rollback with undo and revision targets.
Learn to pass secrets to Kubernetes deployments by creating a secret, injecting it as environment variables via secretKeyRef, and mounting it as a volume.
Create a storage class, a persistent volume, and a persistent volume claim to store Kubernetes application data using local storage.
Create a persistent volume and a claim, bind them to a deployment, and mount to /app data to show data persists across pod and deployment changes.
Generate certificates for a user to access a Kubernetes cluster, sign certificate request, and configure role-based access control with role, cluster role, and bindings for namespaced and non-namespaced resources.
Connect to the Kubernetes cluster by configuring kubectl with a kubeconfig file, setting the cluster, credentials, and context, and switch contexts to manage a namespace.
Define a read-only role and bind it to a test user in the my app namespace, then create a cluster role binding and verify access to pods and deployments.
Define a cluster role named pb reader cluster and create a cluster role binding to grant test user one access to list persistent volumes. This binding is cluster-wide, not namespace-scoped.
Monitor a Kubernetes cluster and apps with Prometheus and Grafana by applying yaml files in the cluster monitoring namespace, configuring config maps, deployments, services, kube-state-metrics, and node port access.
Set up Grafana for Kubernetes monitoring by deploying Grafana, exposing port 3000, and configuring a Prometheus data source to import a dashboard that visualizes CPU, memory, and network usage.
Master essential Kubernetes troubleshooting commands for control plane and nodes, including kubectl get events, logs, node status, Docker and Kubelet checks, and service endpoints in the app namespace.
Troubleshoot cluster issues by inspecting pods with kubectl get pods and describe, then view logs. Export yaml, edit deployments, and connect to pods with kubectl exec for debugging.
Discover how to build a custom Docker image, push it to Docker Hub, and deploy on Google Kubernetes Engine with kubectl, including deployments, services, replicas, and rolling updates.
Explore kubernetes cluster architecture—from kubectl interface to master components (api server, scheduler, controller manager, etcd) and worker nodes with kubelet, pods, and kube proxy, plus replica sets for scaling.
Explore how Kubernetes services act as load balancers, routing end-user requests to the healthiest pod via a stable IP, ensuring scalability and availability through replicas, rolling updates, and blue-green deployment.
Install and configure Google Cloud SDK, kubectl, and Docker on a CentOS VM to deploy a custom Docker image to a Google Kubernetes Engine cluster.
Install cube CTL from the google cloud repository, install and configure docker community edition, verify docker, complete the google cloud sdk setup, and outline creating a custom docker image.
Create a custom docker image from CentOS 7 and deploy a war file to Tomcat. Learn how to prepare for Kubernetes deployment via a Dockerfile.
Build a custom Docker image by installing Java, deploying the DevOps war to Tomcat, and exposing port 8080. Configure the entry point to launch Tomcat in the CentOS container.
Verify the docker image by running it locally, then upload it to Docker Hub using proper tagging and port forwarding, preparing for deployment to a Kubernetes cluster.
Introduction to the Course
In the ever-evolving landscape of cloud computing and containerization, Kubernetes has emerged as the leading orchestration platform for managing containerized applications. Our comprehensive course, "Mastering Kubernetes: From Basics to Advanced Applications," is designed to take you on a journey from understanding the fundamental concepts of Kubernetes to mastering its advanced features and real-world applications.
Section 1: Kubernetes Training
Overview: This section provides a foundational understanding of Kubernetes, focusing on its architecture, major components, and basic operations. It is designed to equip you with the essential skills needed to deploy, manage, and troubleshoot Kubernetes clusters.
Key Topics:
Introduction to Course: An overview of the course objectives and structure.
Kubernetes Training: A deep dive into Kubernetes and its importance in modern cloud infrastructure.
Kubernetes Components: An exploration of the core components that make up Kubernetes.
Kubernetes Architecture: Understanding the architecture that powers Kubernetes.
Kubernetes Major Concepts: Key concepts that are crucial for working with Kubernetes.
Steps and Instance Creation: Step-by-step guide to creating instances.
Cluster on AWS: Detailed instructions on setting up a Kubernetes cluster on AWS.
Kubernetes Cluster Creation and Deletion: Processes for creating and deleting Kubernetes clusters.
EC2 Management Node Creation: Managing EC2 nodes within the cluster.
Configuring K8s Cluster on AWS: Configuration steps for setting up a Kubernetes cluster on AWS.
K8s Cluster Creation and Deletion: Additional details on creating and deleting clusters.
Installation Pre-Requisite and Documentation: Pre-requisites for installing Kubernetes and relevant documentation.
Setting up Ubuntu Instances for Kubeadm: Preparing Ubuntu instances for Kubernetes setup.
Cluster Setup on Master: Setting up the master node for the cluster.
Worker Node Joining to Cluster: Joining worker nodes to the master cluster.
Issues Troubleshooting and Node Deletion: Common issues and troubleshooting steps, along with node deletion.
Hello Minikube: Introduction to Minikube, a tool for running Kubernetes locally.
Minikube Installation: Step-by-step guide for installing Minikube.
Conclusion: Wrap up and summary of the section.
Section 2: Kubernetes Essentials
Overview: This section delves deeper into Kubernetes, covering essential topics such as Kubernetes architecture, container orchestration, and advanced cluster management techniques.
Key Topics:
Introduction to Kubernetes: Overview of Kubernetes and its capabilities.
What is Kubernetes: Detailed explanation of Kubernetes and its role in container orchestration.
Kubernetes Architecture: In-depth look at the architecture of Kubernetes.
Container Orchestration Engine: Understanding container orchestration and its benefits.
Kubernetes Installation: Installation methods for Kubernetes.
Installing Kubernetes using Kubectl: Practical guide to installing Kubernetes using Kubectl.
Google Kubernetes Engine: Introduction to Google Kubernetes Engine (GKE) and its features.
Pod State and Lifecycle: Managing pod states and lifecycles in Kubernetes.
Kubernetes Administration: Administration tasks and best practices.
Packaging and Deploying on Kubernetes: Methods for packaging and deploying applications on Kubernetes.
Kubernetes Networking: Understanding and configuring Kubernetes networking.
Autoscaling Kubernetes Cluster: Techniques for autoscaling Kubernetes clusters.
Setting up Pods and Deployments: Step-by-step guide to setting up pods and deployments.
Cronjobs and Daemon Sets: Managing cron jobs and daemon sets in Kubernetes.
Controllers, Services, and Storage: Understanding controllers, services, and storage options.
Running WordPress on Kubernetes: Practical example of deploying WordPress on Kubernetes.
Section 3: Kubernetes Case Study - Hosting a Web Application as a Container
Overview: This section presents a practical case study on hosting a web application as a container using Kubernetes. It covers the entire process from cluster initialization to deploying and managing the application.
Key Topics:
Introduction to Project: Overview of the project goals and objectives.
Kubernetes Installation and Cluster Initialization: Detailed steps for installing Kubernetes and initializing a cluster.
Joining Worker Nodes and Cluster Testing: Adding worker nodes to the cluster and testing the setup.
Pod Scheduling and Resource Management: Techniques for scheduling pods and managing resources.
Application Deployment and Management: Deploying the application and managing updates and rollbacks.
Persistent Storage and Secrets Management: Handling persistent storage and managing secrets.
Monitoring and Troubleshooting: Setting up monitoring tools like Prometheus and Grafana, and troubleshooting common issues.
Section 4: Kubernetes Case Study - Deploying a Custom Docker Image
Overview: This section focuses on deploying a custom Docker image using Kubernetes. It provides hands-on experience in creating, verifying, and uploading Docker images, and deploying them on a Kubernetes cluster.
Key Topics:
Introduction to Project: Project goals and objectives.
Kubernetes Cluster Architecture and Services: Understanding the architecture and services in Kubernetes.
Software Installation and Custom Docker Image: Installing necessary software and creating custom Docker images.
Verifying and Uploading Image: Verifying the Docker image and uploading it to a registry.
Deploying and Managing Custom Images: Deploying custom Docker images on Kubernetes and managing them effectively.
Conclusion
By the end of this course, you will have a thorough understanding of Kubernetes, from basic concepts to advanced deployment strategies. You will gain practical skills through hands-on projects, enabling you to manage and scale containerized applications efficiently using Kubernetes