• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

Kubernetes Command Line Reference (Cheatsheet)

by admin

Creating Objects

Create resource:

$ kubectl apply -f ./<file_name>.yaml

Create from multiple files:

$ kubectl apply -f ./<file_name_1>.yaml -f ./<file_name_2>.yaml

Create all files in directory:

$ kubectl apply -f ./<directory_name>

Create from url:

$ kubectl apply -f https://<url>

Create pod:

$ kubectl run <pod_name> --image <image_name>

Create pod, then expose it as service:

$ kubectl run <pod_name> --image <image_name> --port <port> --expose

Create pod yaml file:

$ kubectl run <pod_name> --image image_name --dryrun=client -o yaml > <file_name>.yaml

Create deployment:

$ kubectl create deployment <deployment_name> --image<image_name>

Create deployment yaml file:

$ kubectl create deployment <deployment_name> --image<image_name> --dry-run=client -o yaml ><file_name>.yaml

Create service:

$ kubectl create service <service-type><service_name> --tcp=<port:target_port>

Create service yaml file:

$ kubectl create service <service_name> --tcp=<port:target_port> --dryrun=client -o yaml > <file_name>.yaml

Expose service from pod/deployment:

$ kubectl expose deployment <pod/deployment_name> --type=<service-type> --port <port> --target-port <target_port>

Create config map from key-value:

$ kubectl create configmap <configmap_name> --fromliteral=<key>:<value> --from-literal=<key>:<value>

Create config map from file:

$ kubectl create configmap <configmap_name> --fromfile=<file_name>

Create config map from env file:

$ kubectl create configmap <configmap_name> --from-envfile=<file_name>

Create secret from keyvalue:

$ kubectl create secret generic <secret_name> --fromliteral=<key>:<value> --from-literal=<key>:<value>

Create secret from file:

$ kubectl create secret generic <secret_name> --fromfile=<file_name>

Create job:

$ kubectl create job  --image=

Create job from cronjob:

$ kubectl create job <job_name> --from=cronjob/<cronjob-name>

Create cronjob:

$ kubectl create cronjob --image=<image_name> --schedule='<cron-syntax>' -- <command> <args>

Monitoring Usage Commands

Get node cpu and memory utilization:

$ kubectl top node <node_name>

Get pod cpu and memory utilization:

$ kubectl top pods <pod_name>

Node Commands

Describe node:

$ kubectl describe node <node_name>

Get node in yaml:

$ kubectl get node <node_name> -o yaml

Get node:

$ kubectl get node <node_name>

Drain node:

$ kubectl drain node <node_name>

Cordon node:

$ kubectl cordon node <node_name>

Uncordon node:

$ kubectl uncordon node <node_name>

Pod Commands

Get pod:

$ kubectl get pod <pod_name>

Get pod in yaml:

$ kubectl get pod <pod_name> -o yaml

Get pod wide information:

$ kubectl get pod <pod_name> -o wide

Get pod with watch:

$ kubectl get pod <pod_name> -w

Edit pod:

$ kubectl edit pod <pod_name>

Describe pod:

$ kubectl describe pod <pod_name>

Delete pod:

$ kubectl delete pod <pod_name>

Log pod:

$ kubectl logs pod <pod_name>

Tail -f pod:

$ kubectl logs pod -f <pod_name>

Execute into pod:

$ kubectl exec -it pod <pod_name> /bin/bash

Running Temporary Image:

$ kubectl run <pod_name> --image=curlimages/curl --rm -it --restart=Never -- curl <destination>

Deployment Commands

Get deployment:

$ kubectl get deployment <deployment_name>

Get deployment in yaml:

$ kubectl get deployment <deployment_name> -o yaml

Get deployment wide information:

$ kubectl get deployment <deployment_name> -o wide

Edit deployment:

$ kubectl edit deployment <deployment_name>

Describe deployment:

$ kubectl describe deployment <deployment_name>

Delete deployment:

$ kubectl delete deployment <deployment_name>

Log deployment:

$ kubectl logs deployment/deployment_name -f

Update image:

$ kubectl set image deployment <deployment_name> <container_name>=<new_image_name>

Scale deployment with replicas:

$ kubectl scale deployment <deployment_name> --replicas <replicas>

Service Commands

Get service:

$ kubectl get service <service>

Get service in yaml:

$ kubectl get service <service> -o yaml

Get service wide information:

$ kubectl get service <service> -o wide

Edit service:

$ kubectl edit service <service>

Describe service:

$ kubectl describe service <service>

Delete service:

$ kubectl delete service <service>

Endpoints Commands

Get endpoints:

$  kubectl get endpoints <endpoints_name>

Ingress Commands

Get ingress:

$ kubectl get ingress

Get ingress in yaml:

$ kubectl get ingress -o yaml

Get ingress wide information:

$ kubectl get ingress -o wide

Edit ingress:

$ kubectl edit ingress <ingress_name>

Describe ingress:

$ kubectl describe ingress <ingress_name>

Delete ingress:

$ kubectl delete ingress <ingress_name>

DaemonSet Commands

Get configmap:

$ kubectl get configmap <configmap_name>

Get configmap in yaml:

$ kubectl get configmap <configmap_name> -o yaml

Edit configmap:

$ kubectl edit configmap <configmap_name>

Describe configmap:

$ kubectl describe configmap <configmap_name>

Delete configmap:

$ kubectl delete configmap <configmap_name>

Secret Commands

Get secret:

$ kubectl get secret <secret_name>

Get secret in yaml:

$ kubectl get secret <secret_name> -o yaml

Edit secret:

$ kubectl edit secret <secret_name>

Describe secret:

$ kubectl describe secret <secret_name>

Delete secret:

$ kubectl delete secret <secret_name>

Rollout Commands

Restart deployment:

$ kubectl rollout restart deployment <deployment_name>

Undo deployment with the latest revision:

$ kubectl rollout undo deployment <deployment_name>

Undo deployment with specified revision:

$ kubectl rollout undo deployment <deployment_name> --torevision <revision_number>

Get all revisions of deployment:

$ kubectl rollout history deployment <deployment_name>

Get specified revision of deployment:

$ kubectl rollout history deployment <deployment_name> --revision=<revision_number>

Job Commands

Get job:

$ kubectl get job <job_name>

Get job in yaml:

$ kubectl get job <job_name> -o yaml

Edit job in yaml:

$ kubectl edit job <job_name>

Describe job:

$ kubectl describe job <job_name>

Delete job:

$ kubectl delete job <job_name>

Cronjob Commands

Get cronjob:

$ kubectl get cronjob cronjob_name

Get cronjob in yaml:

$ kubectl get cronjob <cronjob_name> -o yaml

Edit cronjob:

$ kubectl edit cronjob <cronjob_name>

Describe cronjob:

$ kubectl describe cronjob <cronjob_name>

Delete cronjob:

$ kubectl delete cronjob <cronjob_name>

Network Policy Commands

Get networkpolicy:

$ kubectl get networkpolicy <networkpolicy_name>

Get networkpolicy in yaml:

$ kubectl get networkpolicy <networkpolicy_name> -o yaml

Get networkpolicy wide information:

$ kubectl get networkpolicy <networkpolicy_name> -o wide

Edit networkpolicy:

$ kubectl edit networkpolicy <networkpolicy_name>

Describe networkpolicy:

$ kubectl describe networkpolicy<networkpolicy_name>

Delete networkpolicy:

$  kubectl delete networkpolicy <networkpolicy_name>

Labels and Selectors Commands

Show labels of node,pod and deployment:

$  kubectl get <node/pod/deployment> --showlabels

Attach labels to <node/pod/deployment>:

$  kubectl label <node/pod/deployment><pod_name> <key>=<value>

Remove labels from<node/pod/deployment>:

$ kubectl label <node/pod/deployment><pod_name> <key>-

Select node,pod and deployment by using labels:

$ kubectl get <node/pod/deployment> -l<key>=<value>

Filed Under: DevOps, Kubernetes

Some more articles you might also be interested in …

  1. “su: Authentication failure” – in Docker
  2. How to convert text files to all upper or lower case
  3. How to Check if the script is run by root at the start of the script
  4. How to use until loop in Shell Scripts
  5. How to Disable Docker Process and docker0 Interface on CentOS/RHEL
  6. How to update/add a file in the Docker Image
  7. Beginners Guide to Using “trap” to Catch Signals and Handle Errors in Shell Script
  8. Set up Jupyter Notebook in VS Code for Data Science
  9. How to Start, Stop and Restart Zimbra Service
  10. How to Write Ansible Playbook and run it using the ansible-playbook command

You May Also Like

Primary Sidebar

Recent Posts

  • pw-cat Command Examples in Linux
  • pvs: command not found
  • pulseaudio: command not found
  • pulseaudio Command Examples in Linux

© 2023 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright