Kubernetes notes Sept 2025

DevOps

MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

For Cert – https://docs.google.com/forms/d/e/1FAIpQLSefIPGhfRPXCOs6TBWjGuCiHPerKcJ6avU__TeQPp1OpUlZ3Q/viewform?usp=dialog

Day 1

Workstation
	kubectl
		~/.kube/config
				Api Server
				Cert

Reference
https://www.devopsschool.com/blog/kubernetes-1-23-6-cluster-setup-master-and-worker-in-ubuntu-20-04/

Master
- Api Server -- POD --> COntainer --> Image --> Google Registry
- etcd	-- POD --> COntainer --> Image --> Google Registry	
- Controller mgr -- POD --> COntainer --> Image --> Google Registry
- Schedular -- POD --> COntainer --> Image --> Google Registry
- Kubelet
- Docker
- ContainerD
- kubeadm init 
- kubectl

Worker
- Proxy -- POD --> COntainer --> Image --> Google Registry
- Docker
- Kubelet
- ContainerD
- kubeadm join
- kubectl




   19  ls ~/.kube
   20  more ~/.kube/config
   21  clear
   22  ls
   23  clear
   24  cd
   25  ls
   26  kubectl
   27  kubectl cluster-info
   28  kubectl get nodes
   29  kubectl get pods --all-namespaces
   30  clear
   32  kubectl get nodes
   33  watch kubectl get nodes
   34  kubectl version
   35  kubectl
   36  clear
   37  kubectl get pods
   38  kubectl api-resources
   39  history
Code language: PHP (php)

POD

=========================================================
API 
====================

CRUD

create
	CMD
		create 
	YAML
		create -f yamlfile
read
	CMD
		get
		describe
	YAML
		get  -f yamlfile

Update
	CMD
		edit
	YAML
		apply  -f yamlfile


Delete
	CMD
		delete
	YAML
		delete  -f yamlfile

================================
Namespace
POD
ReplicationController
Deployment



  58  kubectl get nodes
   59  kubectl api-resources
   60  clear
   61  kubectl get ns
   62  kubectl
   63  clear
   64  kubectl create ns dev
   65  kubectl create ns qa
   66  kubectl get ns
   67  kubectl describe ns rajesh
   68  kubectl describe ns dev
   69  kubectl describe ns qa
   70  kubectl edit ns qa
   71  kubectl describe ns qa
   72  kubectl deelte ns qa
   73  kubectl delete ns qa
   74  kubectl get ns


apiVersion: v1
kind: Namespace
metadata:
  name: devops1
  labels:
    kubernetes.io/metadata.name: devops1


 85  vi ns.yaml
   86  kubectl create -f ns.yaml
   87  kubectl get -f ns.yaml
   88  kubectl describe -f ns.yaml
   89  vi ns.yaml
   90  kubectl apply -f ns.yaml
   91  kubectl describe -f ns.yaml
   92  kubectl delete -f ns.yaml
Code language: JavaScript (javascript)

POD

==============================================================================


apiVersion: v1
kind: Pod
metadata:
  name: rajesh
  labels:
    app: helloworld
spec:
  containers:
  - name: devopsschool1
    image: scmgalaxy/nginx-devopsschoolv1
    ports:
    - name: nginx-port
      containerPort: 80

 96  vi pod.yaml
   97  kubectl create -f pod.yaml
   98  kubectl get pods
   99  kubectl describe pod rajesh
  100  clear
  101  kubectl get pods
  102  vi pod.yaml
  103  kubectl apply -f pod.yaml
  104  kubectl describe pod rajesh
  105  clear
  106  ls
  107  kubectl delete -f pod.yaml
  108  kubectl get pod
  109  kubectl create -f pod.yaml
  110  kubectl get pod
  111  kubectl get ns
  112  kubectl create -f pod.yaml
  113  kubectl create -f pod.yaml -n=dev
  114  kubectl get ns
  115  kubectl get pods
  116  kubectl get pods -n=dev
  117  cleaer
  118  clear
  119  kubectl get pods -o wide


Troubleshooting and Debugging Commands:
  describe        Show details of a specific resource or group of resources
  logs            Print the logs for a container in a pod
  attach          Attach to a running container
  exec            Execute a command in a container
  port-forward    Forward one or more local ports to a pod
  cp              Copy files and directories to and from containers
  auth            Inspect authorization
    events          List events



 120  history
  121  clear
  122  kubectl
  123  clear
  124  kubectl get logs
  125  kubectl get pods
  126  kubectl logs rajesh
  127  kubectl get pods -o wide
  128  curl http://192.168.1.3
  129  kubectl logs rajesh
  130  kubectl attach rajesh
  131  kubectl exec rajesh ls
  132  kubectl exec -it rajesh /bin/bash
  133  clear
  134  s
  135  kubectl port-forward -h


kubectl port-forward --address 0.0.0.0 pod/rajesh 8888:80


 135  kubectl port-forward -h
  136  history
  137  clear
  138  kubectl port-forward --address 0.0.0.0 pod/rajesh 8888:80
  139  ls
  140  kubectl cp pod.yaml rajesh:/tmp
  141  kubectl exec rajesh ls /tmp
  142  kubectl auth
  143  kubectl auth whoami
  144  kubectl auth can-i create pod
  145  kubectl events

Code language: JavaScript (javascript)
ReplicationController

Replication - 1 POD TO many
Controller - 10 PODS === 10 PODS

apiVersion: v1
kind: ReplicationController
metadata:
  name: rajeshrc
spec:
  replicas: 5
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: scmgalaxy/nginx-devopsschoolv1


 150  kubectl explain ReplicationController.spec
  151  kubectl explain ReplicationController.spec.template
  152  kubectl explain ReplicationController.spec.template.spec
  153  kubectl explain ReplicationController.spec.template.spec.containers




157  vi rc.yaml
  158  kubectl get rc
  159  kubectl create -f rc.yaml
  160  kubectl get pods
  161  clear
  162  kubectl get rc
  163  kubectl edit rc rajeshrc
  164  kubectl get rc
  165  kubectl get pods
  166  kubectl edit rc rajeshrc
  167  kubectl get pods
  168  clear
  169  kubectl edit rc rajeshrc
  170  clear
  171  kubectl get pods
  172  clear
  173  kubectl get rc
  174  kubectl get pods
  175  clear
  176  kubectl get rc
  177  kubectl delete -f rc.yaml
  178  vi rc.yaml
  179  kubectl create -f rc.yaml
  180  kubectl get pods
  181  kubectl get rc
  182  clear
  183  kubectl get rc
  184  kubectl get pods
  185  kubectl delete pod rajeshrc-hvtp4 rajeshrc-j2757 rajeshrc-j8tz4
  186  kubectl get pods
  187  history

Code language: JavaScript (javascript)

Deployment

https://www.devopsschool.com/blog/kubernetes-deployment-strategy-explained-with-example/

What is Deployment
--------------------------------
Replication + Controller
================================
	ReplicaSet 		== ReplicationController
	    v2		    v1

Versioning
Rollout
Rollback


 194  kubectl create deployment my-dep --image=scmgalaxy/nginx-devopsschoolv1 --replicas=3
  195  kubectl get deploy
  196  kubectl scale--replicas=10 deployment/my-dep
  197  kubectl scale --replicas=10 deployment/my-dep
  198  kubectl get deploy
  199  kubectl scale --replicas=2 deployment/my-dep
  200  kubectl get deploy
  201  kubectl get rs
  202  kubectl get deploy
  203  kubectl get pods
  204  kubectl delete pod my-dep-6f9d67cfc-w95q7  my-dep-6f9d67cfc-x4xnf
  205  kubectl get pods
  206  kubectl get deploy
  207  kubectl edit deploy my-dep
  208  kubectl rollout history deploy/my-dep
  209  kubectl edit deploy my-dep
  210  kubectl rollout history deploy/my-dep
  211  kubectl get pods -o wide
  212  curl http://192.168.1.60
  213  kubectl rollout undo deploy/my-dep --to-revision=1
  214  kubectl get pods -o wide
  215  curl http://192.168.1.59
  216  kubectl get pods -o wide
  217  curl http://192.168.1.61
Code language: JavaScript (javascript)

Day2

Service – https://www.devopsschool.com/blog/kubernetes-tutorials-pod-load-balancing-using-service/

Service – https://www.devopsschool.com/blog/kubernetes-service-example-programs/

 591  kubectl get deploy
  592  kubectl edit deploy my-dep
  593  kubectl get deploy
  594  kubectl get pods
  595  clear
  596  ls
  597  kubectl get svc
  598  kubectl expose -h
  599  clear
  600  kubectl get deploy
  601  kubectl expose deploy my-dep --port=80 --target-port=80
  602  kubectl get svc
  603  curl http://10.101.32.59
  604  kubectl describe svc my-dep
  605  kubectl get pods --show-lables
  606  kubectl get pods --show-labels
  607  clear
  608  ls
  609  kubectl get svc
  610  kubectl expose deploy my-dep --port=80 --target-port=80 --name=np --type=NodePort
  611  kubectl get svc
  612  curl http://10.109.53.224
  613  kubectl expose deploy my-dep --port=80 --target-port=80 --name=lb --type=LoadBalancer
  614  kubectl get svc
Code language: JavaScript (javascript)

volume

Secret

Security

Compute 
	POD
	ReplicationController
	ReplicaSets
	Deployment
LB
	Service
Storage
	PV
	PVC
	Configmap
	Secret


Utility
	Jobs
	CronJobs
	
Security 
	Roles
	ClusterRole
	Rolebinding
	ClusterRolebinding
	ServiceAccount
=============================================================
https://www.devopsschool.com/blog/understanding-authentication-authorization-in-kubernetes/


Types of User?
==========================================
HUMAN ---> 
System  ------> ServiceAccount
====================================


Roles		--------------------> Namespace	Level	
		GROUP
		API
		What Access?
		
ClusterRole  ----------------> Cluster Level
		GROUP
		API
		What Access?
===============================================
When u add user to 
	Role
		use Rolebinding
	ClusterRole
		lusterRolebindingCode language: PHP (php)
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x