Kubernetes Cheat Sheet
This article consists a list of kubectl commands which are helpful for your day to day job.
Creating Objects
Name | Command |
---|---|
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/uri |
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 --dry-run=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-type service_name --tcp=port:target_port --dry-run=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 --from-literal={key:value} --from-literal={key:value} |
Create config map from file | kubectl create configmap configmap_name --from-file=file_name |
Create config map from env file | kubectl create configmap configmap_name --from-env-file=file_name |
Create secret from key-value | kubectl create secret generic secret_name --from-literal={key:value} --from-literal={key:value} |
Create secret from file | kubectl create secret generic secret_name --from-file=file_name |
Create job | kubectl create job job_name --image=image_name |
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} |
Monitoring Usage Commands
Name | Command |
---|---|
Get node cpu and memory utilization | kubectl top node node_name |
Get pod cpu and memory utilization | kubectl top pods pod_name |
Node Commands
Name | Command |
---|---|
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
Name | Command |
---|---|
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
Name | Command |
---|---|
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_name |
Service Commands
Name | Command |
---|---|
Get service | kubectl get service service_name |
Get service in yaml | |
Get service wide information | kubectl get service service_name -o wide |
Edit service | kubectl edit service service_name |
Describe service | kubectl describe service service_name |
Delete service | kubectl delete service service_name |
Endpoints Commands
Name | Command |
---|---|
Get endpoints | kubectl get endpoints endpoints_name |
Ingress Commands
Name | Command |
---|---|
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
Name | Command |
---|---|
Get daemonset | kubectl get daemonset daemonset_name |
Get daemonset in yaml | kubectl get daemonset daemonset_name -o yaml |
Edit daemonset | kubectl edit daemonset daemonset_name |
Describe daemonset | kubectl describe daemonset daemonset_name |
Delete daemonset | kubectl delete deployment daemonset_name |
StatefulSet Commands
Name | Command |
---|---|
Get statefulset | kubectl get statefulset statefulset_name |
Get statefulset in yaml | kubectl get statefulset statefulset_name -o yaml |
Edit statefulset | kubectl edit statefulset statefulset_name |
Describe statefulset | kubectl describe statefulset statefulset_name |
Delete statefuleset | kubectl delete statefulset statefulset_name |
ConfigMaps Commands
Name | Command |
---|---|
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
Name | Command |
---|---|
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
Name | Command |
---|---|
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 --to-revision 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
Name | Command |
---|---|
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
Name | Command |
---|---|
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
Name | Command |
---|---|
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
Name | Command |
---|---|
Show labels of node,pod and deployment | kubectl get {node/pod/deployment} --show-labels |
Attach labels to | kubectl label {node/pod/deployment} pod_name {key}={value} |
Remove labels from | kubectl label {node/pod/deployment} {pod_name} {key}- |
Select node,pod and deployment by using labels | kubectl get {node/pod/deployment} -l {key}={value} |
You may also refer to other interview preparation articles:
- Linux Interview Questions for Freshers
- Linux Interview Questions for Freshers - 2
- Linux Interview Questions for Freshers and Experienced - L1
- Linux Interview Questions for Experienced Linux Admins - L2
- Advanced Linux Interview Questions for Experienced Admins - L3
- Shell-Scripting interview questions
- OS Network Interview Questions
- GCP ACE Practice Questions - 1st
- GCP ACE Practice Questions - 2nd
- AWS Certified SysOps Administrator - Questions and Answers-1st
- AWS Certified SysOps Administrator - Questions and Answers-2nd
- AWS interview questions for experienced professionals - 1st
- AWS interview questions for experienced professionals - 2nd
- Ansible interview questions
- Kubernetes interview questions
- DevOps Interview Questions for Freshers and Experienced
- DevOps Interview Questions for Freshers and Experienced - 2
- GIT Interview Questions for DevOps Roles
- Jenkins Interview Questions for Experienced DevOps Engineer
- Terraform Interview Questions for Experienced DevOps Engineer
- Terraform Interview Questions for Experienced DevOps Engineer - 2
- Terraform Interview Questions for Experienced DevOps Engineer - 3
- JAVA Interview Questions
- JAVA Interview Questions - 2
- Manual Testing Interview Questions for QA Engineers/Testers
- DBMS Interview Questions
- Managerial interview questions
- Microsoft Azure Administrator AZ-103
You may also explore other articles in our bucket, Happy reading !!:
- What is Artificial Intelligence ?
- What is Machine Learning ?
- Unleashing the Power of Artificial Intelligence
- What is Neural Networks ?
- What is Internet of Things (IoT) ?
- What is Natural Language Processing (NLP) ?
- What is Robotics and Automation ?
- Quantum Computing: The Next Frontier
- Blockchain: A Primer for Beginners
- What is Virtual Reality (VR) ?
- Cybersecurity: Protecting our digital world
- What is AI Chat Open Assistant Chatbot ?
- What is Bard chatbot ?