devops33 0.7.0__tar.gz → 0.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devops33
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: An interactive CLI tool for learning Docker, Git, Prometheus, and Kubernetes commands.
5
5
  Author-email: DevOps Assistant <assistant@example.com>
6
6
  Project-URL: Homepage, https://github.com/example/devops-lab-assistant
@@ -804,37 +804,278 @@ sudo docker compose down
804
804
  # =========================================================
805
805
 
806
806
  """,
807
- "Kubernetes": """# =========================================================
808
- # KUBERNETES (K8S) MINI-LAB
809
- # =========================================================
807
+ "Kubernetes": """Kubernetes Basics Lab — Complete Command Flow (Minikube + kubectl)
808
+
809
+ This is the complete end-to-end Kubernetes lab procedure from installation to shutdown.
810
+ You can directly follow this in your lab exam or share it with your friend.
811
+
812
+ =========================================================
813
+ PHASE 1 — INSTALL REQUIRED PACKAGES
814
+ =========================================================
815
+ Step 1 — Update Ubuntu Packages
816
+ sudo apt update
817
+ Step 2 — Install Basic Dependencies
818
+ sudo apt install curl wget apt-transport-https -y
819
+
820
+ Expected:
821
+
822
+ curl installed
823
+ wget installed
824
+ apt-transport-https installed
825
+ =========================================================
826
+ PHASE 2 — INSTALL kubectl
827
+ =========================================================
828
+ Step 3 — Download kubectl Binary
829
+ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
830
+
831
+ Expected:
832
+
833
+ kubectl binary downloads successfully
834
+ Step 4 — Give Execute Permission
835
+ chmod +x kubectl
836
+ Step 5 — Move kubectl to System Path
837
+ sudo mv kubectl /usr/local/bin/
838
+ Step 6 — Verify kubectl Installation
839
+ kubectl version --client
840
+
841
+ Expected Output:
842
+
843
+ Client Version: v1.xx.x
844
+ =========================================================
845
+ PHASE 3 — INSTALL MINIKUBE
846
+ =========================================================
847
+ Step 7 — Download Minikube
848
+ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
849
+
850
+ Expected:
851
+
852
+ Minikube binary downloads
853
+ Step 8 — Install Minikube
854
+ sudo install minikube-linux-amd64 /usr/local/bin/minikube
855
+ Step 9 — Verify Minikube Installation
856
+ minikube version
857
+
858
+ Expected Output:
859
+
860
+ minikube version: v1.xx.x
861
+ =========================================================
862
+ PHASE 4 — START DOCKER
863
+ =========================================================
864
+ Step 10 — Start Docker Service
865
+ sudo systemctl start docker
866
+ Step 11 — Enable Docker on Boot
867
+ sudo systemctl enable docker
868
+ Step 12 — Verify Docker Status
869
+ sudo systemctl status docker
870
+
871
+ Expected:
872
+
873
+ Docker should show:
874
+ Active: active (running)
875
+
876
+ Press:
877
+
878
+ Q
879
+
880
+ to exit status screen.
881
+
882
+ =========================================================
883
+ PHASE 5 — START KUBERNETES CLUSTER
884
+ =========================================================
885
+ Step 13 — Start Minikube Cluster
886
+ minikube start --driver=docker
887
+
888
+ Expected:
889
+
890
+ Kubernetes cluster initializes
891
+ Minikube downloads Kubernetes components
892
+ Cluster starts successfully
893
+
894
+ Important Message:
895
+
896
+ Done! kubectl is now configured to use "minikube"
897
+ Step 14 — Verify Cluster Status
898
+ kubectl get nodes
899
+
900
+ Expected Output:
901
+
902
+ NAME STATUS ROLES AGE VERSION
903
+ minikube Ready control-plane ... ...
904
+ =========================================================
905
+ PHASE 6 — CREATE POD
906
+ =========================================================
907
+ Step 15 — Create Nginx Pod
908
+ kubectl run my-nginx --image=nginx
909
+
910
+ Expected:
911
+
912
+ pod/my-nginx created
913
+ Step 16 — Check Pod Status
914
+ kubectl get pods
915
+
916
+ Initially:
917
+
918
+ ContainerCreating
919
+
920
+ Wait few seconds and run again:
810
921
 
811
- STEP 1 — START CLUSTER
812
- ----------------------
813
- minikube start
814
- minikube status
922
+ kubectl get pods
923
+
924
+ Expected:
925
+
926
+ STATUS = Running
927
+ =========================================================
928
+ PHASE 7 — EXPOSE POD USING NODEPORT
929
+ =========================================================
930
+ Step 17 — Expose Nginx Pod
931
+ kubectl expose pod my-nginx --type=NodePort --port=80
932
+
933
+ Expected:
934
+
935
+ service/my-nginx exposed
936
+ Step 18 — View Services
937
+ kubectl get services
938
+
939
+ Expected:
940
+
941
+ NodePort service visible
942
+
943
+ Example:
944
+
945
+ my-nginx NodePort 80:31261/TCP
946
+ Step 19 — Get Browser Access URL
947
+ minikube service my-nginx --url
948
+
949
+ Expected:
950
+
951
+ http://192.xxx.xx.xx:xxxxx
952
+
953
+ Open that URL in browser.
954
+
955
+ Expected:
956
+
957
+ Nginx welcome page appears
958
+ =========================================================
959
+ PHASE 8 — CREATE DEPLOYMENT
960
+ =========================================================
961
+ Step 20 — Create Deployment with 2 Replicas
962
+ kubectl create deployment my-dep --image=nginx --replicas=2
963
+
964
+ Expected:
965
+
966
+ deployment.apps/my-dep created
967
+ Step 21 — Verify Deployment
968
+ kubectl get deployments
815
969
 
816
- STEP 2 — POD OPERATIONS
817
- -----------------------
818
- kubectl run my-pod --image=nginx
970
+ Expected:
971
+
972
+ READY 2/2
973
+ Step 22 — Verify Pods
974
+ kubectl get pods
975
+
976
+ Expected:
977
+
978
+ 2 deployment pods running
979
+ 1 nginx pod running
980
+ =========================================================
981
+ PHASE 9 — SCALE DEPLOYMENT
982
+ =========================================================
983
+ Step 23 — Scale Deployment to 5 Replicas
984
+ kubectl scale deployment my-dep --replicas=5
985
+
986
+ Expected:
987
+
988
+ deployment.apps/my-dep scaled
989
+ Step 24 — Verify Scaling
819
990
  kubectl get pods
820
- kubectl get pod my-pod -o wide
821
-
822
- STEP 3 — SERVICES & ACCESS
823
- --------------------------
824
- kubectl expose pod my-pod --type=NodePort --port=80
825
- minikube service my-pod --url
826
-
827
- STEP 4DEPLOYMENTS & SCALING
828
- ------------------------------
829
- kubectl create deployment my-deploy --image=nginx --replicas=2
830
- kubectl get deployment
831
- kubectl scale deployment my-deploy --replicas=5
832
-
833
- STEP 5 — CLEANUP
834
- ---------------
835
- kubectl delete service my-service
836
- kubectl delete deployment my-deploy
991
+
992
+ Expected:
993
+
994
+ Total 5 deployment pods running
995
+ =========================================================
996
+ PHASE 10 VIEW ALL RESOURCES
997
+ =========================================================
998
+ Step 25Display Complete Cluster Resources
999
+ kubectl get all
1000
+
1001
+ Expected:
1002
+
1003
+ Pods
1004
+ Services
1005
+ Deployments
1006
+ ReplicaSets
1007
+
1008
+ all visible
1009
+
1010
+ =========================================================
1011
+ PHASE 11 — OPEN KUBERNETES DASHBOARD
1012
+ =========================================================
1013
+ Step 26 — Launch Dashboard
1014
+ minikube dashboard
1015
+
1016
+ Expected:
1017
+
1018
+ Dashboard opens automatically in browser
1019
+ =========================================================
1020
+ OPTIONAL COMMANDS
1021
+ =========================================================
1022
+ View Logs
1023
+ kubectl logs my-nginx
1024
+ Describe Pod
1025
+ kubectl describe pod my-nginx
1026
+ List Nodes
1027
+ kubectl get nodes
1028
+ List Everything
1029
+ kubectl get all
1030
+ =========================================================
1031
+ PHASE 12 — CLEANUP
1032
+ =========================================================
1033
+ Step 27 — Delete Service
1034
+ kubectl delete service my-nginx
1035
+ Step 28 — Delete Deployment
1036
+ kubectl delete deployment my-dep
1037
+ Step 29 — Delete Pod
1038
+ kubectl delete pod my-nginx
1039
+ Step 30 — Verify Cleanup
1040
+ kubectl get all
1041
+
1042
+ Expected:
1043
+
1044
+ No deployment
1045
+ No nginx pod
1046
+ =========================================================
1047
+ PHASE 13 — STOP MINIKUBE
1048
+ =========================================================
1049
+ Step 31 — Stop Kubernetes Cluster
837
1050
  minikube stop
1051
+
1052
+ Expected:
1053
+
1054
+ Stopped "minikube"
1055
+ =========================================================
1056
+ FINAL LAB OUTCOME
1057
+ =========================================================
1058
+
1059
+ IMPORTANT VIVA QUESTIONS
1060
+ 1. What is kubectl?
1061
+
1062
+ kubectl is the command-line tool used to communicate with Kubernetes clusters.
1063
+
1064
+ 2. What is Minikube?
1065
+
1066
+ Minikube is a local single-node Kubernetes cluster used for learning and testing.
1067
+
1068
+ 3. Difference between Pod and Deployment?
1069
+ Pod Deployment
1070
+ Runs single container/app Manages multiple Pods
1071
+ No auto-healing Supports auto-healing
1072
+ Manual scaling Automatic scaling
1073
+ 4. What is NodePort?
1074
+
1075
+ NodePort exposes a Kubernetes service externally using a port on the node.
1076
+
1077
+ 5. Which command scales applications?
1078
+ kubectl scale de
838
1079
  """
839
1080
  }
840
1081
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devops33
3
- Version: 0.7.0
3
+ Version: 0.8.0
4
4
  Summary: An interactive CLI tool for learning Docker, Git, Prometheus, and Kubernetes commands.
5
5
  Author-email: DevOps Assistant <assistant@example.com>
6
6
  Project-URL: Homepage, https://github.com/example/devops-lab-assistant
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devops33"
7
- version = "0.7.0"
7
+ version = "0.8.0"
8
8
  authors = [
9
9
  { name="DevOps Assistant", email="assistant@example.com" },
10
10
  ]
File without changes
File without changes
File without changes
File without changes
File without changes