Linux, Docker, Kubernetes

Courses offered


1. Linux

2. Docker

3. Kubernetes

Program Curriculum

Topic: Linux

Duration: 4hrs

Table of Contents

  • Introduction to Linux
  • Basic Linux
  • Commands
  • Understanding Bash Scripting

Topic: Docker

Duration: 12hrs

Contents: Docker

  • Introduction to Docker
    • What is Containerization?
    • What is Docker?
    • Use-cases of docker    
    • Docker Concepts
    • A brief history of Docker Containers and Virtual Machines Benefits of Containers
  • Docker Architecture
  • Docker Foundation
  • Docker Components
  • Understanding Docker  Containers
  • Understanding Docker Images
  • Understanding Docker Layers
  • Architecture of Docker
  • Understanding Docker Client
  • Understanding Docker Engine/Docker  Daemon
  • Understanding Docker Registry
  • Docker Setup
  • Platforms for Docker
  • Docker for Mac & Docker for Windows
  • Installing Docker on Mac OS Installing Docker on Windows OS Installing Docker on Linux OS Manual Docker Installation
  • Installing Docker Using Convenience Script Testing Docker Version
  • Testing Docker Installation
  • No ‘sudo’ Docker Configuration Understanding Basic Docker Commands Running Docker Hello-world
  • Working with Docker Images
  • Listing Docker Images
  • Finding Docker Images
  • Pulling Docker Images from Docker Repository
  • Inspecting Docker Images
  • Removing Docker Images
  • Docker Image CleanUP
  • Working with Docker Containers
  • Creating Containers
  • Docker Run in Detail
  • Container Lifecycle
  • Listing Running Containers
  • Listing Container Run History
  • Pausing Containers
  • UnPausing Containers
  • Stopping Containers
  • Restarting Stopped Containers
  • Running Commands inside Containers
  • Retrieving Container Logs
  • Starting Containers with Terminal Access
  • Starting Containers in Detached Mode
  • Container Port Mapping
  • Running Multiple Containers
  • Naming and Renaming Containers
  • Inspecting Containers
  • Removing Containers
  • Docker Container CleanUp
  • Docker Registry
  • Working with Docker Hub
  • What is Docker Hub?
  • Creating an Account with Docker Hub
  • Understanding DockerID
  • Creating a Docker Hub Repository
  • Publishing Custom Images to Docker Hub using Docker Client
  • Connecting GitHub to Docker Hub
  • Creating Automated Builds
  • Creating Images from Docker Containers
  • Working with Private Docker Registry
  • Need for Private Docker Registry
  • Setting up a Private Docker Registry
  • Pushing Images to the Private Registry
  • Configuring the Docker Client to use the Private Registry
  • Listing Repositories in the Private Registry
  • Docker Volumes
  • Understanding Docker Volumes
  • Need for Docker Volumes
  • Docker Volume Mount Types
  • Working with Different Volume Mounts
  • Docker Networking Understanding Docker Container Isolation Default Docker NetworksUser-defined Networks Docker Network Commands Linking Containers How Containers Communication with each other? Advantages of User-defined Networks
  • Implementing MicroServices Architecture Using Docker
  • What are MicroServices?
  • How Docker Helps with MicroServices Architecture?
  • Implementing a Multi Service Application using Docker Manually
  • Multi-container Docker Applications with Docker Compose
  • What is a Docker Compose?
  • Advantages of Docker Compose
  • Installing Docker Compose
  • Understanding Docker Compose Files
  • Networking with Docker Compose
  • Docker Compose Commands
  • Using Docker Compose To Build and Use Custom Images
  • Implementing a Multi Service Application using Docker Compose
  • Building Custom Images
  • Need for Custom Images
  • Creating Docker Images
  • What is a Dockerfile?
  • Creating a Dockerfile
  • Working with Base Images
  • Building Custom Image from Dockerfile
  • Understanding Image Tags
  • Tagging an Image
  • Understanding Build Cache
  • Understanding Dockerfile Directives
  • Difference Between CMD & ENTRYPOINT
  • Dockerfile Best Practices

Topic: Kubernetes

Duration: 12hrs


  • Introduction to Kubernetes
  • Understanding Containers
  • Advantages of Container Deployment
  • What is MicroService?
  • What is Container Orchestration?
  • What is Kubernetes?
  • Why Kubernetes?
  • Container Orchestration: How it works?
  • Role of Kubernetes
  • A Brief History of Kubernetes
  • Advantages of Kubernetes
  • Kubernetes Components
  • Understanding Kubernetes Clusters
  • Kubernetes Cluster Components
  • Kubernetes Architecture
  • Kubernetes Master Components/Control Plane
  • Kubernetes Node Components
  • Kubernetes Objects & Controllers
  • Kubernetes Setup
    • How to Manually Setup Kubernetes?
    • Installing kubectl, kubeadm and kubelet
    • Setting up Kubernetes Testing/Learning Environments
    • Single-Node Cluster using Minikube
    • Multi-Node Cluster using dind
    • Multi-Node Cluster using kind
    • Setting up Kubernetes Production Environments
    • Manual Setup using kubeadm
    • On Cloud using kops
    • Using KRIB
    • Using Kubespray
    • Upgrading a Kubernetes Cluster using kubeadm
  • Kubernetes Cluster   
  • Working with Kubernetes Cluster
  • Exploring Kubernetes Cluster via the Command Line
  • Getting Node and Cluster Information using kubectl
  • Understanding Cluster Contexts
  • Understanding Cluster Configs
  • Kubernetes Objects
  • Understanding Pods & Pod Usage
  • Understanding Services & Service Types
  • Understanding Volumes
  • Understanding Namespaces
  • Kubernetes Managing Objects
  • Understanding Labels
  • Understanding Label Selectors
  • Understanding Field Selectors
  • Kubernetes Controllers
  • Understanding Replication Controller
  • Understanding ReplicaSet
  • Understanding Deployment
  • Understanding StatefulSet
  • Understanding DaemonSet
  • Understanding Jobs
  • Installing and Testing Components of a Kubernetes Cluster
  • Kubernetes Applications and Services
  • Creating and Managing Pods
  • Creating and Exposing Services
  • Discovering DNS Names in Kubernetes
  • Scheduling Pods
  • Kubernetes Healthchecks
  • Kubernetes HPA
  • Kubernetes Virtual Clusters & Secrets
  • Labels and NameSpaces
    • Understanding Labels
    • Creating and Using Labels & Label Selectors
    • Understanding NameSpaces
    • Creating and Using NameSpaces
    • Namespaces with Resource Quotas
  • Storage and Secrets
    • Creating Persistent Storage for Pods in Kubernetes
    • Understanding Persistent Volumes and Persistent Volume Claims
    • Understanding Secrets
    • Understanding ConfigMaps
  • Kubernetes User Authentication and Authorization
  • User Management and Security
  • Creating a User
  • Configuring User Credentials and Context
  • Understanding Role Based Access Control
  • Creating Roles and Role Bindings to Configure User Authorization
  • Kubernetes Cluster Administration
  • Kubernetes Networking
  • Kubernetes Networking Model
  • Kubernetes Ingress Controller
  • Logging and Monitoring
  • Monitoring Logs in Kubernetes
  • Enabling Metric Server
  • Working with Metrics
  • Kubernetes Managing Deployments
  • StatefulSets and Deployments
  • Understanding StatefulSet
  • Understanding Deployments
  • Understanding ReplicaSet
  • Performing Rolling Updates on Deployments
  • Managing Deployments
  • Kubernetes Cluster Maintenance
  • Kubernetes Cluster Maintenance
  • How to Remove a Pod from Service?
  • How to Access ClusterIP Service Outside the Cluster?
  • Understanding Resource Statuses
  • Debugging Pods
  • How to Get Detailed Snapshot of Cluster State?
  • How to Add New Worker Nodes to Cluster?
  • How to Drain Kubernetes Nodes for Maintenance?
  • How to Delete a Kubernetes Cluster?

Why take up this course?

Docker provides containers, but they can quickly become messy if you don’t manage them.     Kubernetes provides a way to manage them. …

 First, you’ll learn Kubernetes architecture and understand the main components and services, and how they come together to build a production-class container infrastructure.

Network deployment and operations are simplified through easier lifecycle management of
the cloud infrastructure. Since the virtualization layer is not part of the cloud stack, fewer
teams are involved, thereby streamlining management and operations. The reduced
complexity also results in faster fault isolation and troubleshooting.

With the elimination of the virtualization layer, the infrastructure overhead is drastically
reduced. More compute and storage resources are now available for application
deployments thereby increasing hardware efficiency. This is especially important for edge
computing, which often have resource constraints in remote sites.

Another big advantage is that no software license fees are needed for the virtualization
software, resulting in substantial TCO savings for CSPs.

Application performance is better and more deterministic on bare metal deployments since
bottlenecks like the guest operating system and virtual switches are removed with the
virtualization layer.

Automated lifecycle management and the seamless introduction of CI/CD are crucial
benefits with a bare metal cloud infrastructure. These functionalities are challenging to
introduce in a cloud stack with many dependencies, but with a simplified solution using
fewer layers, automation will be easier to achieve end-to-end

Another advantage is that the introduction of new hardware acceleration technologies like
smart NICs (Network Interface Cards) and support for GPUs (Graphics Processing Units),
needed for very demanding applications become easier for new 5G use cases.

Ericsson estimates that the TCO savings for deploying Kubernetes on a bare metal compared to a virtualized infrastructure can be as high as 30 percent, depending on application and configuration.
Ericsson Cloud Native Infrastructure will be available on the market later this year to support CSPs 5G and cloud native introduction. View this brief video about Ericsson Cloud Native Infrastructure summarizing the next step in cloud infrastructure evolution.

Source:[1]infrastructure#:~:text=What%20are%20the%20benefits%20of%20Kubernetes%20over%20a%20bare%20metal,the reby%20streamlining%20mana

Log on

Leave a Comment

Your email address will not be published. Required fields are marked *