DEV Community

Jasper Rodda
Jasper Rodda

Posted on • Edited on

2

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

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay