DEV Community

Jasper Rodda
Jasper Rodda

Posted on • Edited on

Kubernetes commands for beginners

minikube start --driver=docker minikube start --driver=virtualbox minikube start --driver=virtualbox --no-vtx-check minikube start --driver=virtualbox --no-vtx-check --memory=4098 minikube start --memory=4098 --driver=hyperkit minikube start --memory=4098 --driver=hyperv 
Enter fullscreen mode Exit fullscreen mode
  • 1.a View Context
kubectl config view 
Enter fullscreen mode Exit fullscreen mode
  • 1.b Switch context to Mini-Kube
kubectl config use-context minikube kubectl config use-context arn:aws:eks:us-east-1:917165987323:cluster/demo-cluster 
Enter fullscreen mode Exit fullscreen mode
  • 1.c Set Default
  • To make docker/Virtual the default driver:
minikube config set driver docker minikube config set driver virtualbox 
Enter fullscreen mode Exit fullscreen mode
  • 2. View cluster info
PS C:\WINDOWS\system32> kubectl cluster-info Kubernetes control plane is running at https://192.168.XX.XXX:8443 CoreDNS is running at https://192.168.XX.XXX:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump' 
Enter fullscreen mode Exit fullscreen mode
  • 3. Get nodes
PS C:\WINDOWS\system32> kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane 13m v1.27.4 
Enter fullscreen mode Exit fullscreen mode
  • 4. Get namespaces
PS C:\WINDOWS\system32> kubectl get namespaces NAME STATUS AGE default Active 14m kube-node-lease Active 14m kube-public Active 14m kube-system Active 14m 
Enter fullscreen mode Exit fullscreen mode
  • 5. Get All pods
PS C:\WINDOWS\system32> kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-5d78c9869d-df2qj 1/1 Running 0 14m kube-system etcd-minikube 1/1 Running 0 14m kube-system kube-apiserver-minikube 1/1 Running 0 14m kube-system kube-controller-manager-minikube 1/1 Running 0 14m kube-system kube-proxy-8zw65 1/1 Running 0 14m kube-system kube-scheduler-minikube 1/1 Running 0 14m kube-system storage-provisioner 1/1 Running 1 (13m ago) 14m 
Enter fullscreen mode Exit fullscreen mode
  • 6. get all services
PS C:\WINDOWS\system32> kubectl get services -A NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15m kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 15m 
Enter fullscreen mode Exit fullscreen mode
  • 7. get namespaces
PS C:\WINDOWS\system32> kubectl get namespaces NAME STATUS AGE default Active 31m kube-node-lease Active 31m kube-public Active 31m kube-system Active 31m 
Enter fullscreen mode Exit fullscreen mode
  • 8. delete namespaces through a yaml file
PS C:\WINDOWS\system32> kubectl delete -f namespace.yaml 
Enter fullscreen mode Exit fullscreen mode
  • 9. get pods in "development" namespace
PS C:\WINDOWS\system32> kubectl get pods -n development NAME READY STATUS RESTARTS AGE pod-info-deployment-869667679b-b9k5s 1/1 Running 0 72s pod-info-deployment-869667679b-kgkk4 1/1 Running 0 72s pod-info-deployment-869667679b-snhnz 1/1 Running 0 72s 
Enter fullscreen mode Exit fullscreen mode
  • 10. get pods in "default" namespace
PS C:\WINDOWS\system32> kubectl get pods 
Enter fullscreen mode Exit fullscreen mode
  • 11. #delete pod with its NAME Before:
PS C:\WINDOWS\system32> kubectl get pods -n development NAME READY STATUS RESTARTS AGE pod-info-deployment-869667679b-b9k5s 1/1 Running 0 9m16s pod-info-deployment-869667679b-kgkk4 1/1 Running 0 9m16s pod-info-deployment-869667679b-snhnz 1/1 Running 0 9m16s 
Enter fullscreen mode Exit fullscreen mode

After:

PS C:\WINDOWS\system32> kubectl delete pod pod-info-deployment-869667679b-snhnz -n development pod "pod-info-deployment-869667679b-snhnz" deleted 
Enter fullscreen mode Exit fullscreen mode
  • 12. get namespaces
PS C:\WINDOWS\system32> kubectl get ns NAME STATUS AGE default Active 68m development Active 24m kube-node-lease Active 68m kube-public Active 68m kube-system Active 68m production Active 21m 
Enter fullscreen mode Exit fullscreen mode
  • 13. get deployment list by namespace
PS C:\WINDOWS\system32> kubectl get deployments -n development NAME READY UP-TO-DATE AVAILABLE AGE pod-info-deployment 3/3 3 3 15m 
Enter fullscreen mode Exit fullscreen mode
  • 14. get pods by namespace
PS C:\WINDOWS\system32> kubectl get pods -n development NAME READY STATUS RESTARTS AGE pod-info-deployment-869667679b-b9k5s 1/1 Running 0 15m pod-info-deployment-869667679b-f5dcv 1/1 Running 0 3m11s pod-info-deployment-869667679b-rd72p 1/1 Running 0 4m35s 
Enter fullscreen mode Exit fullscreen mode
  • 15. describe pod
PS C:\WINDOWS\system32> kubectl describe pod pod-info-deployment-869667679b-b9k5s -n development Name: pod-info-deployment-869667679b-b9k5s Namespace: development Priority: 0 Service Account: default Node: minikube/192.168.59.100 Start Time: Fri, 25 Aug 2023 12:33:35 -0500 
Enter fullscreen mode Exit fullscreen mode
  • 16. ssh into a container via busybox - through an interactive terminal --> kubectl exec -it busybox-55fdb79844-94tf8 -- /bin/sh
PS C:\WINDOWS\system32> kubectl exec -it busybox-55fdb79844-94tf8 -- /bin/sh / # ls bin dev etc home lib lib64 proc root sys tmp usr var / # wget 10.244.0.4:3000 Connecting to 10.244.0.4:3000 (10.244.0.4:3000) saving to 'index.html' index.html 100% |**************************************************************************************************************| 103 0:00:00 ETA 'index.html' saved / # cat index.html {"pod_name":"pod-info-deployment-869667679b-b9k5s","pod_namespace":"development","pod_ip":"10.244.0.4"}/ # exit 
Enter fullscreen mode Exit fullscreen mode
  • 17. get pods IP address
kubectl get pods -n development -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod-info-deployment-869667679b-b9k5s 1/1 Running 0 90m 10.244.0.4 minikube <none> <none> pod-info-deployment-869667679b-crx5q 1/1 Running 0 73m 10.244.0.9 minikube <none> <none> pod-info-deployment-869667679b-rd72p 1/1 Running 0 78m 10.244.0.7 minikube <none> <none> quote-service-5d654676cc-n7c4j 1/1 Running 0 74s 10.244.0.12 minikube <none> <none> quote-service-5d654676cc-qzxx2 1/1 Running 0 74s 10.244.0.11 minikube <none> <none> 
Enter fullscreen mode Exit fullscreen mode
  • 18. get pods in default namespace - you will find busybox-55fdb79844-94tf8
PS C:\WINDOWS\system32> kubectl get pods NAME READY STATUS RESTARTS AGE busybox-55fdb79844-94tf8 1/1 Running 0 99m 
Enter fullscreen mode Exit fullscreen mode
  • 19. Errors/ Troubleshooting:
  • If you get below error, run minikube start --driver=virtualbox --no-vtx-check click here for more details
minikube v1.25.1 on Microsoft Windows 10 Home Single Language 10.0.19043 Build 19043 MINIKUBE_HOME=C:\os\minikube\Minikube Automatically selected the virtualbox driver Starting control plane node minikube in cluster minikube Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... ! StartHost failed, but will try again: creating host: create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... Failed to start virtualbox VM. Running "minikube delete" may fix it: creating host: create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory 
Enter fullscreen mode Exit fullscreen mode
  • 20. Minikube commands
  • Config:
  • minikube config view
minikube config view - driver: virtualbox 
Enter fullscreen mode Exit fullscreen mode
  • Show Docker context: docker context show

- Show docker context: docker context ls

  • 21. Delete Minikube Cluster
    • minikube delete
    • minikube delete --all
    • minikube delete -o
    • minikube delete -purge
--all=false: Set flag to delete all profiles -o, --output='text': Format to print stdout in. Options include: [text,json] --purge=false: Set this flag to delete the '.minikube' folder from your user directory. 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)