.TH "OPENSHIFT CLI" "1" " Openshift CLI User Manuals" "Openshift" "June 2016" "" .SH NAME .PP openshift cli debug \- Launch a new instance of a pod for debugging .SH SYNOPSIS .PP \fBopenshift cli debug\fP [OPTIONS] .SH DESCRIPTION .PP Launch a command shell to debug a running application .PP When debugging images and setup problems, it's useful to get an exact copy of a running pod configuration and troubleshoot with a shell. Since a pod that is failing may not be started and not accessible to 'rsh' or 'exec', the 'debug' command makes it easy to create a carbon copy of that setup. .PP The default mode is to start a shell inside of the first container of the referenced pod, replication controller, or deployment config. The started pod will be a copy of your source pod, with labels stripped, the command changed to '/bin/sh', and readiness and liveness checks disabled. If you just want to run a command, add '\-\-' and a command to run. Passing a command will not create a TTY or send STDIN by default. Other flags are supported for altering the container or pod in common ways. .PP A common problem running containers is a security policy that prohibits you from running as a root user on the cluster. You can use this command to test running a pod as non\-root (with \-\-as\-user) or to run a non\-root pod as root (with \-\-as\-root). .PP The debug pod is deleted when the the remote command completes or the user interrupts the shell. .SH OPTIONS .PP \fB\-\-as\-root\fP=false If true, try to run the container as the root user .PP \fB\-\-as\-user\fP=\-1 Try to run the container as a specific user UID (note: admins may limit your ability to use this flag) .PP \fB\-c\fP, \fB\-\-container\fP="" Container name; defaults to first container .PP \fB\-f\fP, \fB\-\-filename\fP="" Filename or URL to file to read a template .PP \fB\-\-keep\-annotations\fP=false If true, keep the original pod annotations .PP \fB\-\-keep\-init\-containers\fP=true Run the init containers for the pod. Defaults to true. .PP \fB\-\-keep\-liveness\fP=false If true, keep the original pod liveness probes .PP \fB\-\-keep\-readiness\fP=false If true, keep the original pod readiness probes .PP \fB\-I\fP, \fB\-\-no\-stdin\fP=false Bypasses passing STDIN to the container, defaults to true if no command specified .PP \fB\-T\fP, \fB\-\-no\-tty\fP=false Disable pseudo\-terminal allocation .PP \fB\-\-node\-name\fP="" Set a specific node to run on \- by default the pod will run on any valid node .PP \fB\-\-one\-container\fP=false If true, run only the selected container, remove all others .PP \fB\-o\fP, \fB\-\-output\fP="" Output format. One of: json|yaml|wide|name|go\-template=...|go\-template\-file=...|jsonpath=...|jsonpath\-file=... See golang template [ \[la]http://golang.org/pkg/text/template/#pkg-overview\[ra]] and jsonpath template [ \[la]http://kubernetes.io/docs/user-guide/jsonpath/\[ra]]. .PP \fB\-\-output\-version\fP="" Output the formatted object with the given version (default api\-version). .PP \fB\-\-template\fP="" Template string or path to template file to use when \-o=go\-template, \-o=go\-template\-file. The template format is golang templates [ \[la]http://golang.org/pkg/text/template/#pkg-overview\[ra]]. .PP \fB\-t\fP, \fB\-\-tty\fP=false Force a pseudo\-terminal to be allocated .SH OPTIONS INHERITED FROM PARENT COMMANDS .PP \fB\-\-api\-version\fP="" DEPRECATED: The API version to use when talking to the server .PP \fB\-\-as\fP="" Username to impersonate for the operation .PP \fB\-\-certificate\-authority\fP="" Path to a cert. file for the certificate authority .PP \fB\-\-client\-certificate\fP="" Path to a client certificate file for TLS .PP \fB\-\-client\-key\fP="" Path to a client key file for TLS .PP \fB\-\-cluster\fP="" The name of the kubeconfig cluster to use .PP \fB\-\-config\fP="" Path to the config file to use for CLI requests. .PP \fB\-\-context\fP="" The name of the kubeconfig context to use .PP \fB\-\-google\-json\-key\fP="" The Google Cloud Platform Service Account JSON Key to use for authentication. .PP \fB\-\-insecure\-skip\-tls\-verify\fP=false If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure .PP \fB\-\-log\-flush\-frequency\fP=0 Maximum number of seconds between log flushes .PP \fB\-\-match\-server\-version\fP=false Require server version to match client version .PP \fB\-n\fP, \fB\-\-namespace\fP="" If present, the namespace scope for this CLI request .PP \fB\-\-request\-timeout\fP="0" The length of time to wait before giving up on a single server request. Non\-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. .PP \fB\-\-server\fP="" The address and port of the Kubernetes API server .PP \fB\-\-token\fP="" Bearer token for authentication to the API server .PP \fB\-\-user\fP="" The name of the kubeconfig user to use .SH EXAMPLE .PP .RS .nf # Debug a currently running deployment openshift cli debug dc/test # Test running a deployment as a non\-root user openshift cli debug dc/test \-\-as\-user=1000000 # Debug a specific failing container by running the env command in the 'second' container openshift cli debug dc/test \-c second \-\- /bin/env # See the pod that would be created to debug openshift cli debug dc/test \-o yaml .fi .RE .SH SEE ALSO .PP \fBopenshift\-cli(1)\fP, .SH HISTORY .PP June 2016, Ported from the Kubernetes man\-doc generator