If you are like most people, and you end up searching the internet for the commands for Kubernetes and Linux, this is the blog for you.
By following some easy syntax rules, using kubectl is relatively straightforward. The CLI supports Windows, Mac and Linux operating systems; simply choose the appropriate install package to get started. Once the process is complete, you’re free to use kubectl. The controls available through the GUI are somewhat limited, so the CLI is geared more toward power users.
While learning Kubernetes, I ended up posting 14 or 15 sticky notes on my monitor to help me in those moments – but after a while, I could barely read what was on the screen. So finally, I created one small, easy-to-read piece of paper to reference when I or you – get stuck.
At the end, you can download of this blog, you can download the pdf version of these commonly used commands.
What is Kubernetes?
Kubernetes is a platform for managing containerized workloads. Kubernetes orchestrates computing, networking and storage to provide a seamless portability across infrastructure providers. Confused? Check out Introduction to Kubernetes, our Kubernetes 101 crash course in all the fundamentals you need to know.
Take a Poll to See How You Compare With Others
Kubernetes Commonly Used Commands
Creating and Updating a Resource
Command Name Description kubectl create namespace [namespace-name] Create a new namespace kubectl create –f [filename] Create a resource from a JSON or YAML file kubectl apply -f [service-name].yaml Create a new service with the definition contained in [service-name].yaml kubectl apply -f [controller-name].yaml Create a new replication controller with the definition contained in [controller-name].yaml kubectl apply -f [directory-name] Create the objects defined in any .yaml, .yml, or .json file in a directory kubectl edit svc/[service-name] Edit a service KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name] Edit a service in a non-default editor
Modifying kubeconfig Files
Command Name Description kubectl config current-context Display the current context kubectl config set-cluster [cluster-name] –server= [server-name] Set a cluster entry in kubeconfig kubectl config unset [property-name] Unset an entry in kubeconfig
Listing Resources
Command Name Description kubectl get namespaces Generate a plain-text list of all namespaces kubectl get pods Generate a plain-text list of all pods kubectl get pods -o wide Generate a detailed plain-text list of all pods kubectl get pods –field-selector=spec.nodeName=[server-name] Generate a list of all pods running on a particular node server kubectl get replicationcontroller [replication-controllername] List a specific replication controller in plain text kubectl get replicationcontroller, services Generate a plain-text list of all replication controllers and services kubectl get deamonset Generate a plain-text list of all daemon sets
Deleting Resources
Command Name Description kubectl delete -f pod.yaml Remove a pod using the name and type listed in pod.yaml kubectl delete pods,services -l [label-key]=[label-value] Remove all the pods and services with a specific label kubectl delete pods –all Remove all pods. The command will include uninitialized pods as well
Displaying the State of Resources
Command Name Description kubectl describe nodes [node-name] See details about a particular node kubectl describe pods [pod-name] See details about a particular pod Kubectl describe –f pod.json See details about a pod whose name and type are listed in pod.json kubectl describe pods [replication-controller-name] See details about all pods managed by a specific replication controller kubectl describe pods See details about all pods
Executing a Command
Command Name Description kubectl exec [pod-name] –[command] Receive output from a command run on the first container in a pod kubectl exec [pod-name] -c[container-name] –[command] Receive output from a command run on a specific container in a pod kubectl exec -ti [pod-name] –/bin/bash Run /bin/bash from a specific pod. The output received comes from the first container
Printing Container Logs
Command Name Description kubectl logs [pod-name] Print logs from a pod kubectl logs -f [pod-name] Stream logs from a pod
Linux Commonly Used Commands
Basic Linux Commands
Command Name Description ls Lists all files and directories in the present working directory ls -R Lists files in sub-directories as well ls -a Lists hidden files as well ls -al Lists files and directories with detailed information like permissions,size, owner, etc. cd or cd ~ Navigate to HOME directory cd .. Move one level up cd To change to a particular directory cd / Move to the root directory cat > filename Creates a new file cat filename Displays the file content cat file1 file2 > file3 Joins two files (file1, file2) and stores the output in a new file (file3) mv file “new file path” Moves the files to the new location mv filename new_file_name Renames the file to a new filename sudo Allows regular users to run programs with the security privileges of the superuser or root rm filename Deletes a file man Gives help information on a command history Gives a list of all past commands typed in the current terminal session clear Clears the terminal mkdir directoryname Creates a new directory in the present working directory or a at the specified path rmdir Deletes a directory mv Renames a directory pr -x Divides the file into x columns pr -h Assigns a header to the file pr -n Denotes the file with Line Numbers lp -nc , lpr c Prints “c” copies of the File lp-d lp-P Specifies name of the printer apt-get Command used to install and update packages mail -s ‘subject’ -c ‘cc-address’ -b ‘bcc-address’ ‘to-address’ Command to send email mail -s “Subject” to-address < Filename Command to send email with attachment
User management commands of linux
Command Name Description sudo adduser username To add a new user sudo passwd -l ‘username’ To change the password of a user sudo userdel -r ‘username’ To remove a newly created user sudo usermod -a -G GROUPNAME USERNAME To add a user to a group sudo deluser USER GROUPNAME To remove a user from a group finger Shows information of all the users logged in finger username Gives information of a particular user
File management
Command Name Description find search for a file ls -a -C -h list content of directory rm -r -f remove files and directory locate -i find file, using updatedb(8) database cp -a -R -i copy files or directory du -s disk usage file -b -i identify the file type mv -f -i move files or directory grep, egrep, fgrep -i -v print lines matching pattern
File Permission commands
Command Name Description ls -l to show file type and access permission r read permission w write permission x execute permission -= no permission Chown user For changing the ownership of a file/directory Chown user:group filename change the user as well as group for a file or directory
Process command
Command Name Description bg To send a process to the background fg To run a stopped process in the foreground top Details on all Active Processes ps Give the status of processes running for a user ps PID Gives the status of a particular process pidof Gives the Process ID (PID) of a process kill PID Kills a process nice Starts a process with a given priority renice Changes priority of an already running process df Gives free hard disk space on your system free Gives free RAM on your system
Networking command
Command Name Description SSH username@ip-address or hostname login into a remote Linux machine using SSH Ping hostname=”” or =”” To ping and Analyzing network and host connections dir Display files in the current directory of a remote computer cd “dirname” change directory to “dirname” on a remote computer put file upload ‘file’ from local to remote computer get file Download ‘file’ from remote to local computer quit Logout
VI Editing Commands
Command Name Description i Insert at cursor (goes into insert mode) a Write after cursor (goes into insert mode) A Write at the end of line (goes into insert mode) ESC Terminate insert mode u Undo last change U Undo all changes to the entire line o Open a new line (goes into insert mode) dd Delete line 3dd Delete 3 lines D Delete contents of line after the cursor C Delete contents of a line after the cursor and insert new text. Press ESC key to end insertion. dw Delete word 4dw Delete 4 words cw Change word x Delete character at the cursor r Replace character R Overwrite characters from cursor onward s Substitute one character under cursor continue to insert S Substitute entire line and begin to insert at the beginning of the line ~ Change case of individual character
Environment Variables command
Command Name Description echo $VARIABLE To display value of a variable env Displays all environment variables VARIABLE_NAME= variable_value Create a new variable Unset Remove a variable export Variable=value To set value of an environment variable
Memory and Process
Command Name Description free -m display free and used system memory killall stop all process by name sensors CPU temperature top display current processes, real time monitoring kill -1 -9 send signal to process service [start|stop|restart] manage or run sysV init script ps aux display current processes, snapshot dmesg -k display system messages
Download Free PDF Version of Commands
PS: Don’t forget to take the poll and see how you compare with others.
Further Reading: How to Prepare for CKAD Certification
[…] Check out the most commonly used Kubernetes and Linux commands and download the pdf version for free… […]