Building real-world Multitenant application
Using Docker, Ansible, Kubernetes, OperatorSDK & Istio
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