Cluster management CLI commands


Gather debugging information for a particular resource.

This command is experimental and might change without notice.

Example: Collect debugging data for the OpenShift API server cluster Operator
$ oc adm inspect clusteroperator/openshift-apiserver


Bulk collect data about the current state of your cluster to debug issues.

This command is experimental and might change without notice.

Example: Gather debugging information
$ oc adm must-gather


Show usage statistics of resources on the server.

Example: Show CPU and memory usage for Pods
$ oc adm top pods
Example: Show usage statistics for images
$ oc adm top images

Node management CLI commands


Mark a node as unschedulable. Manually marking a node as unschedulable blocks any new pods from being scheduled on the node, but does not affect existing pods on the node.

Example: Mark node1 as unschedulable
$ oc adm cordon node1


Drain a node in preparation for maintenance.

Example: Drain node1
$ oc adm drain node1


Display and filter node logs.

Example: Get logs for NetworkManager
$ oc adm node-logs --role master -u NetworkManager.service


Update the taints on one or more nodes.

Example: Add a taint to dedicate a node for a set of users
$ oc adm taint nodes node1 dedicated=groupName:NoSchedule
Example: Remove the taints with key dedicated from node node1
$ oc adm taint nodes node1 dedicated-


Mark a node as schedulable.

Example: Mark node1 as schedulable
$ oc adm uncordon node1

Security and policy CLI commands


Approve or reject certificate signing requests (CSRs).

Example: Approve a CSR
$ oc adm certificate approve csr-sqgzp


Manage groups in your cluster.

Example: Create a new group
$ oc adm groups new my-group


Create a new project and specify administrative options.

Example: Create a new project using a node selector
$ oc adm new-project myproject --node-selector='type=user-node,region=east'


Manage Pod networks in the cluster.

Example: Isolate project1 and project2 from other non-global projects
$ oc adm pod-network isolate-projects project1 project2


Manage roles and policies on the cluster.

Example: Add the edit role to user1 for all projects
$ oc adm policy add-cluster-role-to-user edit user1
Example: Add the privileged security context constraint to a service account
$ oc adm policy add-scc-to-user privileged -z myserviceaccount

Maintenance CLI commands


Migrate resources on the cluster to a new version or format depending on the subcommand used.

Example: Perform an update of all stored objects
$ oc adm migrate storage
Example: Perform an update of only Pods
$ oc adm migrate storage --include=pods


Remove older versions of resources from the server.

Example: Prune older builds including those whose BuildConfigs no longer exist
$ oc adm prune builds --orphans

Configuration CLI commands


Create a client configuration for connecting to the server. This creates a folder containing a client certificate, a client key, a server certificate authority, and a kubeconfig file for connecting to the master as the provided user.

Example: Generate a client certificate for a proxy
$ oc adm create-api-client-config \
  --certificate-authority='/etc/origin/master/proxyca.crt' \
  --client-dir='/etc/origin/master/proxy' \
  --signer-cert='/etc/origin/master/proxyca.crt' \
  --signer-key='/etc/origin/master/proxyca.key' \
  --signer-serial='/etc/origin/master/proxyca.serial.txt' \


Create a bootstrap project template.

Example: Output a bootstrap project template in YAML format to stdout
$ oc adm create-bootstrap-project-template -o yaml


Create a template for customizing the error page.

Example: Output a template for the error page to stdout
$ oc adm create-error-template


Creates a basic .kubeconfig file from client certificates.

Example: Create a .kubeconfig file with the provided client certificates
$ oc adm create-kubeconfig \
  --client-certificate=/path/to/client.crt \
  --client-key=/path/to/client.key \


Create a template for customizing the login page.

Example: Output a template for the login page to stdout
$ oc adm create-login-template


Create a template for customizing the provider selection page.

Example: Output a template for the provider selection page to stdout
$ oc adm create-provider-selection-template

Other Administrator CLI commands


Output the inputs and dependencies of any builds.

Example: Output dependencies for the perl imagestream
$ oc adm build-chain perl


Output shell completion code for the oc adm commands for the specified shell.

Example: Display oc adm completion code for Bash
$ oc adm completion bash


Manage the client configuration files. This command has the same behavior as the oc config command.

Example: Display the current configuration
$ oc adm config view
Example: Switch to a different context
$ oc adm config use-context test-context


Manage various aspects of the OpenShift Container Platform release process, such as viewing information about a release or inspecting the contents of a release.

Example: Generate a changelog between two releases and save to changelog.md
$ oc adm release info --changelog=/tmp/git \
    quay.io/openshift-release-dev/ocp-release:4.3.0-rc.7 \
    quay.io/openshift-release-dev/ocp-release:4.3.0 \
    > changelog.md


Verify the image signature of an image imported to the internal registry using the local public GPG key.

Example: Verify the nodejs image signature
$ oc adm verify-image-signature \
    sha256:2bba968aedb7dd2aafe5fa8c7453f5ac36a0b9639f1bf5b03f95de325238b288 \
    --expected-identity \
    --public-key /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \