Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Design, Implement and Deploy Kubernetes Cluster from Scratch
Rating: 4.0 out of 5(38 ratings)
365 students

Design, Implement and Deploy Kubernetes Cluster from Scratch

Manage applications in a productionized Kubernetes to orchestrate and automate deployment with Kubernetes services
Last updated 2/2019
English

What you'll learn

  • Monitor Kubernetes clusters and run a highly available Kubernetes.
  • Manage your applications with large-scale container orchestration.
  • Secure Kubernetes using an access and identity management server.
  • Deploy an automation server and create a Pipeline as a Code solution to build and deploy an application.
  • Deploy and manage highly scalable, containerized applications with Kubernetes.
  • Adopt secure and high-performance best practices with Kubernetes.
  • Track metrics and logs for every container running in your cluster.
  • Streamline the way you deploy and manage your applications with large-scale container orchestration.
  • Monitor and troubleshoot Kubernetes clusters and run highly available Kubernetes.

Course content

2 sections64 lectures4h 35m total length
  • Course overview3:23

    This video will give you an overview about the course.

  • Installing the Pre-reqs4:58

    This video describes how to install the pre-requisite software for the course.

    • Install kubectl and Virtual box

    • Install Minikube and Helm and Visual Studio

    • Install kubectx and kubens and kubetail

  • Creating a Cluster with Minikube3:33

    This video describes the steps to create a local development cluster using Minikube.

    • Get to know how to install a number of the Kubernetes add-ons

  • Exploring Your Cluster7:03

    This video provides a quick exploration of some of the important aspects of the Minikube cluster.

    • Learn how to work on the Kubernetes dashboard and the CLI.

  • Deploying an Application4:42

    This video describes how to build an application with Docker.

    • Describe the application in a Kubernetes native way

    • Deploy the application to Kubernetes

    • Finally test it in Kubernetes.

  • Homework0:15

    This video is your homework for day one.

    • Take a look at the Question and try solving it on your own before the next lecture

  • Kubernetes Architecture10:35

    This video does a quick whistle stop tour of the Kubernetes architecture.

    • Explore Kubernetes processes.

    • Understand Kubernetes concepts.

    • Learn important Kubernetes resource types

  • Kubernetes Manifests5:56

    This video describes the Kubernetes manifests

    • Explore in detail Kubernetes resources.

    • Create Kubernetes resources.

  • Kubectl Config2:36

    This video describes the kubeconfig file.

    • Configure kubectl CLI using the kubeconfig file

  • Helm for Package Management4:57

    This video describes the need for package management in Kubernetes.

    • Describe Kubernetes package called Helm.

    • Install Helm to Clusters.

    • Re-deploy first-app using Helm.

  • Deploying a Complex Application1:52

    This video describes how to deploy a more complex application using Helm.

    • Explore the Helm chart

    • Install Helm

    • Deploy MediaWiki

  • Homework0:16

    This video is your homework for day two.

    • Deploy the first-app application to Minikube.

  • Install a Multi-Node Cluster5:28

    This video describes how to install a multi-node Kubernetes cluster with kubeadm using a project called k8s-vagrant-multi-node.

    • Explore about kubeadm from the documentation

    • Install Vagrant

    • Install the cluster

  • Explore the Cluster5:18

    This video explores some the features of a multi-node Kubernetes cluster.

    • Check the nodes present

    • Explore in detail about all the nodes

  • Deploy Initial Workloads6:14

    This video demonstrates how to deploy some of the first workloads you will need on your cluster.

    • Deploy Helm

    • Deploy Ingress Controller and Heapster

    • Install Kubernetes Dashboard

  • Deploy First-App with Ingress2:17

    This video describes how to redeploy the first-app using Helm, but this time with an Ingress resource

    • Take a look at the Ingress resource template

    • Deploy into the cluster

    • Test the application

  • Homework0:18

    This video is your homework for day three.

    • Install the multi-node cluster onto your own machine and deploy the initial workloads to it.

  • Probes and Self Healing4:29

    This video describes how Kubernetes uses probes to facilitate self healing of workloads in the cluster.

    • Explore types of Probe

    • Learn about Probe actions

    • Implement Probes in code

  • Prometheus4:27

    This video describes Prometheus, a very popular monitoring solution and timeseries database (TSDB).

    • Explore Prometheus architecture

    • Install Prometheus into the cluster

    • Explore some of the available metrics

  • Grafana3:26

    This video provides a quick overview of Grafana.

    • Learn about Grafana

    • Deploy Grafana into the cluster

    • Log in to the Grafana web UI

  • Grafana Dashboards3:34

    This video describes how to find pre-built Grafana dashboards

    • Explore the dashboard

    • Understand the different areas of the dashboard

    • Deploy the 2nd dashboard

  • Homework0:15

    This video is your homework for day four.

    • Install Prometheus and Grafana into the cluster

  • PVs and PVCs5:11

    This video describes how Kubernetes uses PersistentVolumes (PVs) and PersistentVolumentClaims (PVCs) to manage storage for an application.

    • Explore types of Persistent volumes

    • Learn about Access Modes

    • Discuss how storage classes are used to enable the dynamic provision of persistent volumes

  • Install Rook7:31

    This video provides an overview of Rook, a Kubernetes operator to manage storage clusters like Ceph.

    • Explore Rook architecture

    • Install Rook into the cluster.

    • Deploy an example to test the block storage

  • Explore Rook3:34

    This video describes how you can use the Rook Toolbox to get a deeper understanding of the Ceph components.

    • Explore in detail about the Rook toolbox

    • Deploy Rook in an example

  • Deploy a HA Database4:02

    This video describes how to deploy a HA MariaDB database that makes use of the persistent storage provided by Rook.

    • Install MariaDB

    • Deploy a HA version of the MariaDB database

    • Clean up the rook sample workloads

  • Homework0:32

    This video is your homework for day five.

    • Install Rook on your cluster and then redeploy Prometheus and Grafana to use persistent storage.

  • RBAC8:17

    This video describes how Role Based Access Control (RBAC) is used within Kubernetes to secure components of the cluster.

    • Explore RBAC resources and implement it

    • Learn about cluster roles and implement it

    • Explore cluster role bindings and implement it

  • Keycloak8:18

    This video describes how to install Keycloak, an open source access management and identity server, into the cluster.

    • Install Keycloak

    • Configure Keycloak to help protect Kubernetes

  • Configuring Kubernetes to Use OIDC3:34

    This video describes how to configure Kubernetes to use OIDC to secure cluster components.

    • Get the ca.crt file

    • Restart the API server

  • Securing the Kubernetes Dashboard5:29

    This video describes how to extend the Kubernetes Dashboard deployment so that it is now protected by an OIDC proxy that authenticates with Keycloak.

    • Deploy the Kubernetes manifests

    • Connect to Ingress

    • Log in to the Kubernetes dashboard

  • Securing Kubectl4:02

    This video describes how to configure kubectl so that a user authenticated by Keycloak is used to access the cluster.

    • Authenticate Keycloak

    • Update the kube config file

    • Map the user against cluster and access the cluster

  • Homework0:13

    This video is your homework for day six.

    • Secure the Kubernetes cluster using Keycloak

  • Overview of CI/CD4:33

    This video provides a quick overview of Continuous Integration (CI) / Continuous Deployment (CD) concepts.

    • Explore Typical CI workflow

    • Learn about Continuous Delivery and Continuous Deployment

  • Jenkins4:04

    This video describes how to install Jenkins, a very popular automation server often used to implement CI/CD.

    • Install Jenkins

    • Deploy a Docker in Docker (DIND) service to build containers in the cluster.

  • Pipeline as Code7:53

    This video describes how Jenkins implements the Pipeline as Code concept using a Jenkinsfile.

    • Learn the types of Jenkinsfile

    • Explore Kubernetes plugin for Jenkins

    • Take a look at the Jenkinsfile to build the first-app

  • Create a Pipeline5:07

    This video describes how to create a Jenkinsfile to build and deploy the first-app we saw in earlier Sections of the course.

    • Create a fork

    • Navigate to the Jenkinsfile and modify the repository name

    • Build the Pipeline created

  • Homework1:00

    This video is your homework for day seven

    • Install Jenkins and setup a pipeline to build and deploy the first-app

Requirements

  • A Basic Knowledge of Linux and Docker will be beneficial but not mandatory.

Description

Kubernetes is a powerful tool developed by Google for managing containerized applications in a clustered environment. Kubernetes helps you automate, deploy, scale, and manage containerized applications. It gives you the freedom to take advantage of on-premise cloud infrastructures. It also helps you write better cloud-native applications. Kubernetes is a core tool in DevOps; it gives you the ability to schedule and manage containers (Docker or otherwise) at scale. If you’re looking to use Kubernetes in production and have a better understanding of how to manage your containers using Kubernetes. then this Course is perfect for you!

This comprehensive 2-in-1 course is a fast-paced guide offering hands-on and practical guidance with step-by-step instructions to design, implement and deploy Kubernetes Cluster for production grid environment. You’ll initially get up and running with fundamentals of Kubernetes and container orchestration. You'll build your own container cluster and manage it as well as secure the cluster and handle service discovery. Moving further, you'll streamline the way you deploy and manage your applications with large-scale container orchestration. Also, monitor and troubleshoot Kubernetes clusters and run highly available Kubernetes. Finally, you’ll be able to use Kubernetes in production and will have a better understanding of how to manage your containers using Kubernetes.

By the end of this course, you'll containerize your applications to build a production-class container infrastructure in the ‘Kubernetes way’.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Kubernetes in 7 Days, covers managing applications in a productionised Kubernetes. This course will help you to unravel the potential of Kubernetes in the shortest amount of time. You will begin by creating your first Kubernetes cluster using Minikube. Then move on to exploring Kubernetes in some more detail and build a complex cluster. By the 4th Day, you will learn to enhance your cluster with a Grafana based monitoring dashboard in your application. Once you’ve acquired knowledge on dashboards, explore how a Kubernetes cluster provisions storage to its applications and learn how to secure them. Finally, learn to create a CI/CD pipeline to build and deploy your applications.

The second course, Kubernetes Recipes, covers how to orchestrate and automate deployment with Kubernetes services. You will first learn how Kubernetes works with containers and will work through an overview of the main Kubernetes features such as pods, replication controllers, and more. Next, you will learn how to create Kubernetes clusters and how to run programs on Kubernetes. Then you will be introduced to features such as high availability, setting up Kubernetes masters, using Kubernetes with Docker, and orchestration with Kubernetes using AWS. Later, you will explore how to use Kubernetes-UI and how to set up and manage Kubernetes clusters on the cloud and bare-metal. You will also work through recipes on microservice management with Kubernetes. Upon completion of this course, you will be able to use Kubernetes in production and will have a better understanding of how to manage your containers using Kubernetes.

By the end of this course, you'll containerize your applications to build a production-class container infrastructure in the ‘Kubernetes way’.

About the Authors

Des Drury is a passionate technologist with many years' experience in all aspects of data center infrastructure, automation, programming languages, and developer workflows. He is:
- Co-organizer of the Melbourne Kubernetes Meetup
- Author of Open Datacentre, a Kubernetes distribution with numerous datacenter workloads;
- A Kubernetes evangelist from the early days of its release;
- Passionate about helping teams to understand complex technology
- Teaches the skills required for team members to solve their own problems
- An excellent communicator and enjoys helping people, passing on knowledge, and improving processes
He has also built numerous tools that have been adopted as enterprise solutions and has received a number of awards.

Subhankar Sengupta has vast experience in DevOps, Kubernetes and Microservices domains. He is a senior architect, working for Red Hat, Emerging Technologies and is responsible for architecting containerization strategy via enterprise Kubernetes adoption for large BFSI and Government sectors. He has the practitioner's view of the day-to-day challenges and could talk from an insider's perspective. The target audience will be able to leverage his experience and could learn complex topics with relative ease.

Who this course is for:

  • Developers, Architects, System Administrators, DevOps Engineers and other technologists who would like to gain hands-on experience with deploying and managing a market-leading cloud platform.