Basic kubectl CLI Commands


kubectl

kubectl controls the Kubernetes cluster manager.

Usage: kubectl [command] [TYPE] [NAME] [flags]

where commandTYPENAME, and flags are:

  • command: Specifies the operation that you want to perform on one or more resources, for example creategetdescribedelete.
  • TYPE: Specifies the resource type. Resource types are case-insensitive and you can specify the singular, plural, or abbreviated forms. For example, the following commands produce the same output:
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1
  • NAME: Specifies the name of the resource. Names are case-sensitive. If the name is omitted, details for all resources are displayed, for example:
kubectl get pod example-pod1
  • flags: Specifies optional flags. For example, you can use the -s or --server flags to specify the address and port of the Kubernetes API server.

Note

Flags that you specify from the command line override default values and any corresponding environment variables.

Basic Commands (Beginner):
  create        Create a resource from a file or from stdin.
  expose        Take a replication controller, service, 
                deployment or pod and expose it as a new 
                Kubernetes Service.
  run           Run a particular image on the cluster.
  set           Set specific features on objects.

Basic Commands (Intermediate):
  explain       Documentation of resources.
  get           Display one or many resources.
  edit          Edit a resource on the server.
  delete        Delete resources by filenames, stdin, 
                resources and names, or by resources and  
                label selector.

Deploy Commands:
  rollout       Manage the rollout of a resource.
  scale         Set a new size for a Deployment, ReplicaSet 
                or Replication Controller.
  autoscale     Auto-scale a Deployment, ReplicaSet, or 
                ReplicationController.

Cluster Management Commands:
  certificate   Modify certificate resources.
  cluster-info  Display cluster info.
  top           Display Resource (CPU/Memory/Storage) usage.
  cordon        Mark node as unschedulable.
  uncordon      Mark node as schedulable.
  drain         Drain node in preparation for maintenance.
  taint         Update the taints on one or more nodes.

Troubleshooting and Debugging Commands:
  describe      Show details of a specific resource or group 
                of resources.
  logs          Print the logs for a container in a pod.
  attach        Attach to a running container.
  exec          Execute a command in a container.
  port-forward  Forward one or more local ports to a pod.
  proxy         Run a proxy to the Kubernetes API server.
  cp            Copy files and directories to and from 
                containers.
  auth          Inspect authorization.
  debug         Create debugging sessions for troubleshooting 
                workloads and nodes.

Advanced Commands:
  diff          Diff live version against would-be applied 
                version.
  apply         Apply a configuration to a resource by 
                filename or stdin.
  patch         Update field(s) of a resource.
  replace       Replace a resource by filename or stdin.
  wait          Experimental: Wait for a specific condition 
                on one or many resources.
  kustomize     Build a kustomization target from a directory 
                or a remote url.

Settings Commands:
  label         Update the labels on a resource.
  annotate      Update the annotations on a resource.
  completion    Output shell completion code for the 
                specified shell (bash or zsh).

Other Commands:
  api-resources Print the supported API resources on the 
                server.
  api-versions  Print the supported API versions on the 
                server, in the form of"group/version".
  config        Modify kubeconfig files.
  plugin        Provides utilities for interacting with 
                plugins.
  version       Print the client and server version 
                information.

Reference

https://kubernetes.io/docs/reference/kubectl/overview/