Building real-world Multitenant application

Why take this course?
Let's break down the learning path you've outlined into more digestible steps and provide a brief overview of each one. This path is designed to take you from the basics of Kubernetes to implementing a real-world project with a custom Operator and Istio for service mesh capabilities.
-
You work for – none (bare metal mode): This step is about setting up your environment without any cloud provider or management tools like KVM, VMware, or physical servers. You'll be responsible for everything from hardware to system configuration.
-
Starting Minikube with driver – docker: Minikube is a tool that lets you run Kubernetes locally. It uses Docker as the underlying container runtime. This step will guide you through setting up Minikube to create a single-node Kubernetes cluster on your local machine.
-
Kubernetes control plane components: Understanding the control plane is crucial for grasping how Kubernetes clusters are managed and orchestrated. Components include etcd (key-value store), API Server (exposes Kubernetes REST API), Controller Manager, Scheduler, and CoreDNS.
-
Kubernetes data plane components: The data plane, also known as kubelet, proxy (like kubectl's
proxy
command or container runtime agents), and CNI (Container Network Interface) plugins, is responsible for running containers and handling networking policies. -
Kubernetes resource – POD – part1: Pods are the smallest deployable units in Kubernetes and consist of one or more containers that share storage/network and a specification. This step will cover the basics of creating and managing pods.
-
Kubernetes resource – POD – part2: Continuing from the basics, this step will delve into advanced configurations like persistent volumes (PV), persistent volume claims (PVC), liveness and readiness probes, and pod security policies.
-
Kubernetes resource – Deployment – part1: A Deployment in Kubernetes manages the creation and scaling of pods. This step will cover how to define, create, and update deployments.
-
Kubernetes resource – Deployment – part2: This continues from the basics by discussing more advanced deployment features such as rolling updates, rollbacks, and managing deployments in different namespaces or across multiple clusters.
-
Kubernetes resource – Service – part1: Services in Kubernetes provide a way to expose an application to the outside world or to other applications running within or outside of your cluster. This step will cover types of services (ClusterIP, NodePort, LoadBalancer, and ExternalName) and how to create them.
-
Kubernetes resource – Service – part2: This step will explore service discovery, load balancing, endpoints, and DNS in Kubernetes services. It also covers more advanced configurations like setting up a service with Istio Ingress controller.
-
Kubernetes resource – Ingress – part1: An Ingress is an API object that manages external access to the services in a cluster, typically HTTP. This step will cover the basics of setting up an ingress controller and routing traffic to services.
-
Kubernetes resource – Ingress – part2: This continues from the basics by exploring more advanced configurations like Ingress classes, NGINX configuration, and handling TLS with an Ingress.
-
Kubernetes resources – Security (RBAC) – part1: Role-Based Access Control (RBAC) in Kubernetes allows you to define who can perform what actions on which resources within your cluster. This step will cover the basics of RBAC roles, role bindings, and cluster roles.
-
Kubernetes resources – Security (RBAC) – part2: This step will delve deeper into RBAC by discussing more complex scenarios like setting up least privilege access and using RBAC for namespaces.
-
Kubernetes resources – Configuration, Secrets, and Persistent Volumes: These steps cover the storage options in Kubernetes, including how to securely manage sensitive data (secrets) and configure applications with configuration files or environment variables.
-
Kubernetes resource – Network Policies: This step will discuss how to control the traffic flow between pods within a cluster using network policies.
-
Operator Framework Basics: The Operator Framework provides tooling for operators to package, deploy, and manage Kubernetes applications (workloads). This step will cover the basics of operators and the Operator Lifecycle Manager (OLM).
-
Building a custom Kubernetes Operator – part1: This step will guide you through creating a basic operator using the SDK provided by the Operator Framework, including defining CRDs (Custom Resource Definitions) and implementing the controller logic.
-
Building a custom Kubernetes Operator – part2: This continues from the basics by exploring more advanced operator features like handling CRD updates and integrating with other Kubernetes resources.
-
You and your Operator – Testing, Documentation, Packaging: This step will cover testing your operator, writing documentation, and packaging it for distribution.
-
Introducing Istio for the custom Operator: Now that you have a custom operator, this step will show how to integrate it with Istio to enhance its capabilities, such as monitoring, security, and reliability features.
-
Building real-world project with custom K8s operator & Istio – part1: This step will apply what you've learned by building a real-world application or service using your custom operator and enhancing it with Istio's service mesh capabilities.
-
Building real-world project with custom K8s operator & Istio – part2: In this final step, you'll refine the application, address any complex scenarios, and ensure that your custom operator and Istio configuration are robust, secure, and scalable.
This path provides a comprehensive journey from Kubernetes fundamentals to advanced operational practices with a focus on real-world applications using custom operators and Istio for service mesh capabilities. It's a detailed roadmap that requires commitment and practical application of the concepts learned along the way.
Course Gallery




Loading charts...