Docker and Kubernetes are important technologies that can help you scale your applications.
Docker is a platform for packaging, deploying, and running applications in containers. Kubernetes is a system for managing containerized applications across a cluster of nodes. It provides basic mechanisms for deployment, maintenance, and scaling of applications.
Introduction to Containers
* Docker installation and set up.
* Docker images and containers
* Building a Dockerfile with best practices
* Logging , networking and security
* Docker volumes
* Image registries
* Labs
Kubernetes introduction
* What is Microservices – principle and forecast
* Architecture deep dive
* Installation on multiple environments ( cloud , local , vagrant )
* Labs on identifying the operational pieces ( Kubelet , apiserver, controllers , etcd )
* Kubernetes the hard way
Introduction to Kubernetes first class citizen - pods
* YAML definition
* Introduction of Pods
* Listing pods through
* Creation of namespaces
* Labs on pod creation , imperative and declarative
Managed pods
* Replicasets
* Daemonsets
* Jobs
* Deployments
* Labs and exercises
Pods in-depth
* InitContainers
* Health checks
* Accessing containers
* Requests and limits
* Labs and exercises
Secrets and Configmaps
* What they are
* How to create them
* How to reference them in a pod
* Labs and exercises
Volumes
* Types of volumes
* Creating a volume
* Dynamic volume provisioning
* Labs on using configmaps , secrets , OpenEBS or rook ( Install one of the CAS -> Longhorn preferably )
Kubernetes Networking
* CNI
* ClusterIP
* Nodeport
* Loadbalancer
* Ingress
* Certmanager for TLS
Security
* RBAC
* Network Policies
* Security Context ( for both pod and container )
* PSP
* PSP replacement
* Kyverno
* CIS Benchmark
Security
* RBAC
* Network Policies
* Security Context ( for both pod and container )
* PSP
* PSP replacement
* Kyverno
* CIS Benchmark