Kubectl exec: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
Line 6: Line 6:


  kubectl exec <''pod''|''type/name''> [-c <''container''>] [''flags''] -- <''command''> [''args''...] [''options'']
  kubectl exec <''pod''|''type/name''> [-c <''container''>] [''flags''] -- <''command''> [''args''...] [''options'']
Example:
  kubectl exec my-pod --
=Flags=
==-c,--container= ==
The name of the container to execute the command into. If omitted, the first container in the pod will be chosen.
==-i,--stdin=false ==
Pass stdin to the container.
==-t,--tty=false==
Stdin is a TTY
==--pod-running-timeout= ==
The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running.




Line 34: Line 48:
default
default
   kubectl exec svc/myservice date
   kubectl exec svc/myservice date
Options:
  -c, --container='': Container name. If omitted, the first container in the pod will be chosen
      --pod-running-timeout=1m0s: The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one
pod is running
  -i, --stdin=false: Pass stdin to the container
  -t, --tty=false: Stdin is a TTY


Usage:
Usage:

Revision as of 19:54, 3 March 2020

Internal

Overview

Execute a command in a container:

kubectl exec <pod|type/name> [-c <container>] [flags] -- <command> [args...] [options]

Example:

 kubectl exec my-pod -- 

Flags

-c,--container=

The name of the container to execute the command into. If omitted, the first container in the pod will be chosen.

-i,--stdin=false

Pass stdin to the container.

-t,--tty=false

Stdin is a TTY

--pod-running-timeout=

The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running.


Examples:

 # Get output from running 'date' command from pod mypod, using the first container by default
 kubectl exec mypod date
 # Get output from running 'date' command in ruby-container from pod mypod
 kubectl exec mypod -c ruby-container date
 # Switch to raw terminal mode, sends stdin to 'bash' in ruby-container from pod mypod
 # and sends stdout/stderr from 'bash' back to the client
 kubectl exec mypod -c ruby-container -i -t -- bash -il
 # List contents of /usr from the first container of pod mypod and sort by modification time.
 # If the command you want to execute in the pod has any flags in common (e.g. -i),
 # you must use two dashes (--) to separate your command's flags/arguments.
 # Also note, do not surround your command and its flags/arguments with quotes
 # unless that is how you would execute it normally (i.e., do ls -t /usr, not "ls -t /usr").
 kubectl exec mypod -i -t -- ls -t /usr
 # Get output from running 'date' command from the first pod of the deployment mydeployment, using the first container

by default

 kubectl exec deploy/mydeployment date
 # Get output from running 'date' command from the first pod of the service myservice, using the first container by

default

 kubectl exec svc/myservice date

Usage:


Use "kubectl options" for a list of global command-line options (applies to all commands).