K8s Topics to be discussed
Workloads
- Deployments
- Daemonsets
- Statefulsets
Configurations
- Config maps
- Secrets
Networking
- Ingress
Storage
- Persistent Volumes
- Persistent Volume Claims
- CSI
Authentication and Authorization
- RBAC
- Binding
- RoleBinding
Adminstration
- Upgrading
- Cordon
- Drain
Scheduling
- Taints and Tolerations
- Node affinity and Pod affinity
Phippy Goes to Zoo
Deployments
- K8s Deployments allow us to rollout new applications by employing strategies (RollingUpdates & Recreate), Rolling update is the default strategy.
Docker images for this exercise
- version1: shaikkhajaibrahim/dmtest:1.0
- version2: shaikkhajaibrahim/dmtest:2.0
- version3: shaikkhajaibrahim/dmtest:3.0
- Application is hosted on /app
Commands
- Refer Here for the changes done to deploy the manifest with version 1
- deployments, statefulsets and daemonset enable rollout command

- Now lets deploy version 2 Refer Here for changes in manifest
- Now we should see version v2 updated
- Now lets go with an assumption that v2 is not working correctly
- Now we can undo the rollout using command
kubectl rollout undo
Annotations
- Annotations are key value pairs, unlike labels which are used for filtering k8s resources annoations serve metadata to the tools (internal/external)
- K8s and managed k8s providers (aks/eks/gke…) publish purpose specific annotations
- Well known labels, annotations, taints
- updated change cause using annotation in deployment Refer Here
