Building real-world Multitenant application

Using Docker, Ansible, Kubernetes, OperatorSDK & Istio

Ratings: 4.13 / 5.00




Description

Introduction

Summary: Introduction about the course and what topics and subtopics we will be covering. Subtopics:

1. High-level Introduction about the course

2. Introduction of the subtopics we will be covering in the course


Installation of VirtualBox, Ubuntu, Docker & Docker commands

Summary: Installing VirtualBox, Ubuntu, Docker, Docker Architecture, Docker Commands, Docker Compose & Docker Swarm. Subtopics:

1. Installing VirtualBox and Ubuntu VM – Introduction

2. Our hands-on Lab diagrams

3. Install VirtualBox

4. Install Ubuntu inside VirtualBox

5. Docker Architecture and Containerization overview

6. Installing Docker

7. What happens when you run Docker command – docker pull

8. Understanding docker commands like run, PS, start, stop, exec, rm

9. Docker network drivers and additional docker commands like network, images, rmi

10. Understanding docker commands like docker build, docker logs

11. Mounting volumes in containers & understanding docker command - docker volume

12. Docker Compose and Hands on lab to explain its use.

13. Docker Swarm – Overview

14. Docker Image - multi-stage build – part1

15. Docker Image - multi-stage build – part2


Ansible

Summary: Overview of Ansible followed by hand-on labs to get a good understanding of how to write and execute Ansible tasks, playbooks, roles. Subtopics:

1. Introduction to Ansible – part1

2. Introduction to Ansible – part2

3. Introduction to Ansible – part3

4. Hands-on Ansible lab – to setup Ansible Control Node

5. Hands-on Ansible lab – to setup Ansible Managed Node

6. Hands-on Ansible lab – run tasks via ansible command

7. Hands-on Ansible lab – run tasks via ansible-playbook command

8. Hands-on Ansible lab – Troubleshooting – part1

9. Hands-on Ansible lab – Troubleshooting – part2

10. Ansible roles & Handlers

11. Hands-on Ansible lab – create and execute an Ansible Role


Kubernetes (K8s)

Summary: We will start this section with introduction to Kubernetes (K8s) and then start building our hands-on lab with installation of Minikube and kubectl tools. We will then do hands on labs for understanding different Kubernetes resources. Subtopics:

1. Introduction to what we will cover in Kubernetes section

2. Installing Minikube and kubectl utility

3. Starting Minikube with driver – none (bare metal mode) – part1

4. Starting Minikube with driver – none (bare metal mode) – part2

5. Starting Minikube with driver – docker

6. Kubernetes control plane components

7. Kubernetes data plane components

8. Kubernetes resource – POD – part1

9. Kubernetes resource – POD – part2

10. Kubernetes resource – POD – part3

11. Kubernetes resource – Deployment – part1

12. Kubernetes resource – Deployment – part2

13. Kubernetes resource – Service – part1

14. Kubernetes resource – Service – part2

15. Kubernetes resource – Ingress – part1

16. Kubernetes resource – Ingress – part2

17. Kubernetes resources – Security (RBAC) – part1

18. Kubernetes resources – Security (RBAC) – part2

19. Kubernetes resources – ConfigMap, Secret – part1

20. Kubernetes resources – ConfigMap, Secret – part2

21. Kubernetes resources – Storage (PV, PVC, SC)– part1

22. Kubernetes resources – Storage (PV, PVC, SC)– part2

23. Deploying Kubernetes resources using – Ansible – part1

24. Deploying Kubernetes resources using – Ansible – part2

25. Deploying Kubernetes resources using – Ansible – part3

26. Kubernetes resources – Request & Limits, LimitRange, ResourceQuota – part1

27. Kubernetes resources – Request & Limits, LimitRange, ResourceQuota – part2

28. Kubernetes resource – Quality of Service (QoS) class

29. Kubernetes resource – Taints & Tolerations, NodeSelector/Affinity/Anti-Affinity


Operator SDK (K8s Operator)

Summary: Introduction of K8s Operator pattern and Operator SDK framework. Creating a sample multi-tenant portal application using custom operator build with operator-sdk (plugin Ansible). Subtopics:

1. Introducing K8s Operator pattern and Operator SDK framework

2. Operator SDK –multi-tenant portal application – hands-on lab1

3. Operator SDK –multi-tenant portal application – hands-on lab2

4. Operator SDK –multi-tenant portal application – hands-on lab3

5. Operator SDK –multi-tenant portal application – hands-on lab4

6. Operator SDK –multi-tenant portal application – hands-on lab5

7. Operator SDK –multi-tenant portal application – hands-on lab6


Istio

Summary: Service Mesh - Istio – what it is? Difference between Service Mesh and API Gateway. Main components of Istio. Hands on lab using the BookInfo example from Istio website and Troubleshooting techniques. Subtopics:

1. Introduction – Istio control plane and data plane components

2. Istio Book Info lab overview

3. Istio Book Info components like Gateway, VirtualSerive, DestinationRule

4. Istio Book Info commands used to build the hands-on lab

5. Istio Book Info execution of the hands-on lab

6. Istio troubleshooting techniques – what to do when things do not work?

7. Istio – executing the testing files to help with troubleshooting?


Real World Project

Summary: Introducing the real work project use case. Building the real-world project with Custom K8s Operator first and then using Istio to create a service mesh for the same. Subtopics:

1. Introduction to real world project use case

2. Building real-world project with custom K8s operator – part1

3. Building real-world project with custom K8s operator – part1

4. Building real-world project with custom K8s operator & Istio – part1

5. Building real-world project with custom K8s operator & Istio – part2

What You Will Learn!

  • Build real world multi-tenant (SaaS) application using Docker, Kubernetes, Ansible, Operator SDK and Istio
  • Installation and basics of Docker, Kubernetes, Ansible, Operator SDK and Istio
  • Ansible tasks, playbooks, roles and its use within Operator SDK
  • Kubernetes resources - Pod, Deployment, Service, Ingress, Storage (PV, PVC, SC), ConfigMap, Secrets etc.
  • Advance topics within Kubernetes - Quotas, LimitRange, QoS, Security, Taints and Tolerations, NodeSelectors etc.
  • Kubernetes Operator pattern and using Operator SDK framework to build operators for real-world application
  • Istio Service Mesh installation and its use in the real-world application we will be building in this course

Who Should Attend!

  • Software Engineers, Solution Architects, Technical Architect, Cloud Architects and DevOps engineers