
What we are covering in this course, how the setup will be done.
- What is Container Runtime
- Example of Container Runtime application
- Container LifeCycle
Explaination about COE?
Why COE is required
Explain about kubernetes control plane components
Explain about kubeadm
kubeadm init
kubeadm join
This section covers workernode components : container runtime, kube-proxy and kubelet
Explain about kubectl
This is home lab vm setup.
Software used: VMware Workstation 17
OS: ubuntu 24.04
- Intallation of kubeadm,kubectl and kubeet
- setting up master
Any issue drop a mail: amit@openwriteup.com [ with screenshots]
try following command:
kubectl api-resources
Yaml basics :define key-value,list and map in yaml
Describe about AKMS.
apiVersion,Kind,metadata and spec
Why namespace
Describe about Pod
Pod yaml file explained
Peform lab2 and lab3
https://www.openwriteup.com/?page_id=901
Perform lab 4 and lab 5
https://www.openwriteup.com/?page_id=901
Perform lab 1
https://www.openwriteup.com/?page_id=957
Lab2:
https://www.openwriteup.com/?page_id=957
explain about deployment, why deployment is required
lab 3
https://www.openwriteup.com/?page_id=957
lab 4
https://www.openwriteup.com/?page_id=957
Recreate strategy
lab 5: https://www.openwriteup.com/?page_id=957
This video explains:
- Why service requires
- Default svc type
- yaml file explaination
- Service Discovery process
Create a deployment from deployment.yaml with label app: nginx, then create a cluster IP service and observe three pods and their endpoints receiving traffic in a round-robin fashion.
Learn how the NodePort service exposes a Kubernetes app to the outside world by mapping a cluster service to a port in the 30000-32767 range.
Learn how Kubernetes uses persistent volumes and persistent volume claims to store container data, exploring static provisioning, storage class, reclaim policies, and binding via PV, PVC, and YAML configurations.
Explore how config maps store non-confidential data for pods, map values as environment variables or volumes. Define a config map in YAML with data keys and values and mount them.
Learn how Kubernetes secrets pass sensitive data like usernames, passwords, tokens, and TLS certificates to pods using environment variables or volumes, with types like basic auth, ssh, and bootstrap tokens.
This is project 1. WordPress Deployment & Service
• Deployment
o Runs a single WordPress instance (replicas: 1).
o Uses the latest WordPress Docker image.
o Connects to the MariaDB database (db) for data storage.
o Reads database credentials from a Kubernetes Secret (db-secret).
o Uses a PersistentVolumeClaim (wb-pvc) for wp-content, ensuring data persistence.
• Service
o Exposes WordPress via a NodePort service on port 30080.
o Allows external access to WordPress through http://<NodeIP>:30080.
2. phpMyAdmin Deployment & Service
• Deployment
o Runs a single phpMyAdmin instance (replicas: 1).
o Connects to the MariaDB database (db) for database management.
o Uses db-secret for MYSQL_ROOT_PASSWORD.
• Service
o Exposes phpMyAdmin via a NodePort service on port 30081.
o Allows external access through http://<NodeIP>:30081.
3. MariaDB (Database) Deployment & Service
• Deployment
o Runs a single MariaDB instance (replicas: 1).
o Stores database credentials (MYSQL_ROOT_PASSWORD, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE) in a Kubernetes Secret (db-secret).
o Uses a PersistentVolumeClaim (db-pvc) to store MySQL data at /var/lib/mysql, ensuring data persistence.
• Service
o Provides an internal ClusterIP service to allow WordPress and phpMyAdmin to connect on port 3306.
Dependency Flow
1. WordPress → Connects to MariaDB (db) using environment variables from db-secret.
2. phpMyAdmin → Connects to MariaDB (db) for database management.
3. MariaDB (db) → Stores WordPress data and user credentials.
4. Persistent Volumes (wb-pvc, db-pvc) → Ensure that WordPress media content and database data persist even if pods restart.
This course includes:
- Setup using kubeadm, Why kubeadm how it provision the components. what is PKI, static pods
- Master components [ apiserver,etcd,scheduler and controller manager]
- Worker node componets: kube-proxy,kubelet,Container runtime
- Only single node setup, i will be using vmware workstation 17, ubuntu 24 server edition.
- As container runtime i will be using Docker-CE. This course includes the setup and step by step explaination for each topic
- Explain each component in details: cluster components,namespace,resources, quota, Pods, service, Deployments ,RC, Configmap,secrets,pv,pvc, and a full project where i will use the multiple api
- Each session will contain exercise, which will be interactive , attendees should perform all the labs, and please check with lab guide, if is done correctly
- Session will contain mcq and questionare to check the participant understanding.
- Troubleshooting part also would be covered throughout the session.
- We will be having different labs and solution session as well.
- Project: Three tier application would be developed: wordpress, mysql and phpadmin. We will perform the project in single namespace and across multiple namespace.
- Detail explaination about the project
- Provide full labs with details steps.
- We will be adding more api based on the feedback. Please provide feedback, and comments on the sections