# Kubernetes

<span class="break-words
      tvm-parent-container"><span dir="ltr">Here are 13 of the most commonly used kubectl commands for managing a real production Kubernetes environment, along with explanations and common use cases:  
  
✅ 𝐂𝐨𝐫𝐞 𝐌𝐚𝐧𝐚𝐠𝐞𝐦𝐞𝐧𝐭  
  
\#1 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐠𝐞𝐭  
→ kubectl get pods (list pods)  
→ kubectl get deployments (list deployments)  
→ kubectl get services (list services)  
→ kubectl get all (list most resources in a namespace)  
  
\#2 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐝𝐞𝐬𝐜𝐫𝐢𝐛𝐞  
→ kubectl describe pod my-pod  
→ kubectl describe node my-node  
  
\#3 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐜𝐫𝐞𝐚𝐭𝐞  
→ kubectl create -f my-deployment.yaml  
  
\#4 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐚𝐩𝐩𝐥𝐲  
→ kubectl apply -f my-deployment.yaml (apply a deployment definition)  
  
\#5 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐝𝐞𝐥𝐞𝐭𝐞  
→ kubectl delete pod my-pod  
→ kubectl delete service my-service  
  
✅ Debugging and Troubleshooting  
  
\#6 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐥𝐨𝐠𝐬  
→ kubectl logs my-pod  
→ kubectl logs my-pod -c my-container (specify a container)  
  
\#7 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐞𝐱𝐞𝐜  
→ kubectl exec -it my-pod -- bash (interactive shell)  
  
\#8 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐩𝐨𝐫𝐭-𝐟𝐨𝐫𝐰𝐚𝐫𝐝  
→ kubectl port-forward my-pod 8080:80  
  
\#9 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐭𝐨𝐩  
→ kubectl top pod (pod resource usage)   
→ kubectl top node (node resource usage)  
  
\#10 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐞𝐱𝐩𝐥𝐚𝐢𝐧  
→ kubectl explain pod   
→ kubectl explain pod.spec (more specific)  
  
✅ Managing Workloads  
  
\#11 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐫𝐨𝐥𝐥𝐨𝐮𝐭  
→ kubectl rollout status deployment/my-deployment   
→ kubectl rollout undo deployment/my-deployment  
  
\#12 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐬𝐜𝐚𝐥𝐞  
→ kubectl scale deployment/my-deployment --replicas=5  
  
\#13 𝐤𝐮𝐛𝐞𝐜𝐭𝐥 𝐞𝐝𝐢𝐭  
→ kubectl edit deployment my-deployment  
  
  
</span></span>