Chapter 4. CLI Operations
4.1. Overview
This topic provides information on the CLI operations and their syntax. You must setup and login with the CLI before you can perform these operations.
4.2. Common Operations
The CLI allows interaction with the various objects that are managed by OpenShift. Many common oc
operations are invoked using the following syntax:
$ oc <action> <object_type> <object_name_or_id>
This specifies:
-
An
<action>
to perform, such asget
ordescribe
. -
The
<object_type>
to perform the action on, such asservice
or the abbreviatedsvc
. -
The
<object_name_or_id>
of the specified<object_type>
.
For example, the oc get
operation returns a complete list of services that are currently defined:
$ oc get svc NAME LABELS SELECTOR IP PORT(S) docker-registry docker-registry=default docker-registry=default 172.30.78.158 5000/TCP kubernetes component=apiserver,provider=kubernetes <none> 172.30.0.2 443/TCP kubernetes-ro component=apiserver,provider=kubernetes <none> 172.30.0.1 80/TCP
The oc describe
operation can then be used to return detailed information about a specific object:
$ oc describe svc docker-registry Name: docker-registry Labels: docker-registry=default Selector: docker-registry=default IP: 172.30.78.158 Port: <unnamed> 5000/TCP Endpoints: 10.1.0.2:5000 Session Affinity: None No events.
Versions of oc
prior to 3.0.2.0 did not have the ability to negotiate API versions against a server. So if you are using oc
up to 3.0.1.0 with a server that only supports v1 or higher versions of the API, make sure to pass --api-version
in order to point the oc
client to the correct API endpoint. For example: oc get svc --api-version=v1
.
4.3. Basic CLI Operations
The following table describes basic oc
operations and their general syntax:
Operation | Syntax | Description |
---|---|---|
|
| Display an introduction to some core OpenShift concepts. |
|
| Log in to the OpenShift server. |
|
| End the current session. |
|
| Create a new project. |
|
| Creates a new application based on the source code in the current directory. |
|
| Show an overview of the current project. |
|
|
Switch to another project. Run without options to display the current project. To view all projects you have access to run |
4.4. Application Modification CLI Operations
Operation | Syntax | Description |
---|---|---|
|
|
Return a list of objects for the specified object type. If the optional |
|
|
Returns information about the specific object returned by the query. A specific |
|
| Edit the desired object type. |
| Edit the desired object type with a specified text editor. | |
| Edit the desired object in a specified format (eg: JSON). | |
|
| Update the desired object type with a new environment variable |
|
| Modify a volume. |
|
| Update the labels on a object. |
|
| Look up a service and expose it as a route. There is also the ability to expose a deployment configuration, replication controller, service, or pod as a new service on a specified port. If no labels are specified, the new object will re-use the labels from the object it exposes. |
|
| Gracefully shut down an object by ID or file name. Attempt to shut down and delete an object that supports graceful termination. |
| Gracefully shut down an object with the specified ID. | |
| Gracefully shut down an object with the specified label. | |
| Gracefully shut down all objects with the specified label. | |
|
|
Delete the specified object. An object configuration can also be passed in through STDIN. The |
4.5. Build and Deployment CLI Operations
One of the fundamental capabilities of OpenShift is the ability to build applications into a container from source. The following table describes the CLI operations for working with application builds:
OpenShift provides CLI access to inspect and manipulate deployment configurations using standard oc
resource operations, such as get
, create
, and describe
.
Operation | Syntax | Description |
---|---|---|
|
| Manually start the build process with the specified build configuration file. |
| Manually start the build process by specifying the name of a previous build as a starting point. | |
| Manually start the build process by specifying either a configuration file or the name of a previous build and retrieves its build logs. | |
|
| Retrieve the build logs for the specified build. |
|
| View a deployment, or manually start, cancel, or retry a deployment. |
|
| Perform a rollback. |
|
| Create a build config based on the source code in the current git repository (with a public remote) and a Docker image |
|
| Stop a build that is in progress. |
|
| Import tag and image information from an external Docker image repository. |
|
| Set the number of desired replicas for a replication controller or a deployment configuration to the number of specified replicas. |
|
| Take an existing tag or image from an image stream, or a Docker image pull spec, and set it as the most recent image for a tag in one or more other image streams. |
4.6. Advanced Commands
Operation | Syntax | Description |
---|---|---|
|
|
Parse a configuration file and create one or more OpenShift objects based on the file contents. The |
|
|
Attempt to modify an existing object based on the contents of the specified configuration file. The |
|
| Transform a project template into a project configuration file. |
|
| Export resources to be used elsewhere |
|
| Manage authorization policies |
|
| Configure secrets. |
4.7. Troubleshooting and Debugging CLI Operations
Operation | Syntax | Description |
---|---|---|
|
| Retrieve the log output for a specific pod or container. This command does not work for other object types. |
|
| Execute a command in an already-running container. You can optionally specify a container ID, otherwise it defaults to the first container. |
|
| Open a remote shell session to a container. |
|
| Forward one or more local ports to a pod. |
|
| Run a proxy to the Kubernetes API server |
For security purposes, the oc exec
command does not work when accessing privileged containers. Instead, administrators can SSH into a node host, then use the docker exec
command on the desired container.
4.8. Object Types
The CLI supports the following object types, some of which have abbreviated syntax:
Object Type | Abbreviated Version |
---|---|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|