
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
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