{"id":50038,"date":"2025-07-11T03:12:20","date_gmt":"2025-07-11T03:12:20","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=50038"},"modified":"2025-07-12T05:56:31","modified_gmt":"2025-07-12T05:56:31","slug":"openshift-top-oc-commands","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/openshift-top-oc-commands\/","title":{"rendered":"Openshift: Top oc Commands"},"content":{"rendered":"\n<p>Absolutely! Here\u2019s a <strong>comprehensive list of the Top 100 most frequently used <code>oc<\/code> (OpenShift CLI) commands<\/strong>, with a quick explanation for each. This will help you navigate OpenShift clusters efficiently, whether you\u2019re a beginner or an experienced SRE\/DevOps engineer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Top 100 Most Frequently Used <code>oc<\/code> Commands and Their Usage<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Authentication &amp; Context<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><code>oc login &lt;server><\/code><\/strong><br>Authenticate to an OpenShift cluster.<\/li>\n\n\n\n<li><strong><code>oc whoami<\/code><\/strong><br>Show your current user.<\/li>\n\n\n\n<li><strong><code>oc whoami -t<\/code><\/strong><br>Display your current token.<\/li>\n\n\n\n<li><strong><code>oc projects<\/code><\/strong><br>List all available projects (namespaces).<\/li>\n\n\n\n<li><strong><code>oc project &lt;project><\/code><\/strong><br>Switch to a different project.<\/li>\n\n\n\n<li><strong><code>oc logout<\/code><\/strong><br>Log out of the current cluster.<\/li>\n\n\n\n<li><strong><code>oc config view<\/code><\/strong><br>Show kubeconfig details.<\/li>\n\n\n\n<li><strong><code>oc config get-contexts<\/code><\/strong><br>List contexts.<\/li>\n\n\n\n<li><strong><code>oc config use-context &lt;context><\/code><\/strong><br>Switch context.<\/li>\n\n\n\n<li><strong><code>oc config set-context ...<\/code><\/strong><br>Set context options.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>General Cluster Info<\/strong><\/h3>\n\n\n\n<ol start=\"11\" class=\"wp-block-list\">\n<li><strong><code>oc status<\/code><\/strong><br>See an overview of your project.<\/li>\n\n\n\n<li><strong><code>oc get all<\/code><\/strong><br>List all resources in the namespace.<\/li>\n\n\n\n<li><strong><code>oc version<\/code><\/strong><br>Show client and server versions.<\/li>\n\n\n\n<li><strong><code>oc explain &lt;resource><\/code><\/strong><br>Get documentation on a resource.<\/li>\n\n\n\n<li><strong><code>oc api-resources<\/code><\/strong><br>List all resource types.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Get &amp; List Resources<\/strong><\/h3>\n\n\n\n<ol start=\"16\" class=\"wp-block-list\">\n<li><strong><code>oc get pods<\/code><\/strong><br>List all pods.<\/li>\n\n\n\n<li><strong><code>oc get pod &lt;podname><\/code><\/strong><br>Show a specific pod.<\/li>\n\n\n\n<li><strong><code>oc get deployments<\/code><\/strong><br>List all deployments.<\/li>\n\n\n\n<li><strong><code>oc get deployment &lt;name><\/code><\/strong><br>Show a deployment.<\/li>\n\n\n\n<li><strong><code>oc get svc<\/code><\/strong><br>List services.<\/li>\n\n\n\n<li><strong><code>oc get svc &lt;name><\/code><\/strong><br>Show a service.<\/li>\n\n\n\n<li><strong><code>oc get routes<\/code><\/strong><br>List all routes.<\/li>\n\n\n\n<li><strong><code>oc get route &lt;name><\/code><\/strong><br>Show a specific route.<\/li>\n\n\n\n<li><strong><code>oc get secrets<\/code><\/strong><br>List all secrets.<\/li>\n\n\n\n<li><strong><code>oc get configmaps<\/code><\/strong><br>List configmaps.<\/li>\n\n\n\n<li><strong><code>oc get nodes<\/code><\/strong><br>List nodes in the cluster.<\/li>\n\n\n\n<li><strong><code>oc get namespaces<\/code><\/strong><br>List all namespaces.<\/li>\n\n\n\n<li><strong><code>oc get events<\/code><\/strong><br>Show recent events.<\/li>\n\n\n\n<li><strong><code>oc get pv<\/code><\/strong><br>List persistent volumes.<\/li>\n\n\n\n<li><strong><code>oc get pvc<\/code><\/strong><br>List persistent volume claims.<\/li>\n\n\n\n<li><strong><code>oc get rs<\/code><\/strong><br>List replica sets.<\/li>\n\n\n\n<li><strong><code>oc get dc<\/code><\/strong><br>List deployment configs (OpenShift classic).<\/li>\n\n\n\n<li><strong><code>oc get builds<\/code><\/strong><br>List builds.<\/li>\n\n\n\n<li><strong><code>oc get buildconfigs<\/code><\/strong><br>List build configs.<\/li>\n\n\n\n<li><strong><code>oc get imagestreams<\/code><\/strong><br>List image streams.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Create &amp; Apply Resources<\/strong><\/h3>\n\n\n\n<ol start=\"36\" class=\"wp-block-list\">\n<li><strong><code>oc new-project &lt;name><\/code><\/strong><br>Create a new project.<\/li>\n\n\n\n<li><strong><code>oc new-app &lt;image\/template><\/code><\/strong><br>Deploy an app from an image or template.<\/li>\n\n\n\n<li><strong><code>oc create -f &lt;file.yaml><\/code><\/strong><br>Create resources from a YAML\/JSON file.<\/li>\n\n\n\n<li><strong><code>oc apply -f &lt;file.yaml><\/code><\/strong><br>Apply a configuration to a resource by file.<\/li>\n\n\n\n<li><strong><code>oc process -f &lt;template.yaml><\/code><\/strong><br>Process a template.<\/li>\n\n\n\n<li><strong><code>oc create secret generic ...<\/code><\/strong><br>Create a generic secret.<\/li>\n\n\n\n<li><strong><code>oc create configmap ...<\/code><\/strong><br>Create a configmap.<\/li>\n\n\n\n<li><strong><code>oc expose svc\/&lt;svc-name><\/code><\/strong><br>Create a route to a service.<\/li>\n\n\n\n<li><strong><code>oc expose deployment\/&lt;deploy-name><\/code><\/strong><br>Expose a deployment as a service.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Update &amp; Edit Resources<\/strong><\/h3>\n\n\n\n<ol start=\"45\" class=\"wp-block-list\">\n<li><strong><code>oc edit &lt;resource> &lt;name><\/code><\/strong><br>Edit a resource in your default editor.<\/li>\n\n\n\n<li><strong><code>oc set image deployment\/&lt;name> &lt;container>=&lt;image><\/code><\/strong><br>Update container image.<\/li>\n\n\n\n<li><strong><code>oc set resources ...<\/code><\/strong><br>Update CPU\/memory requests and limits.<\/li>\n\n\n\n<li><strong><code>oc patch &lt;resource> &lt;name> -p '&lt;json-patch>'<\/code><\/strong><br>Patch a resource.<\/li>\n\n\n\n<li><strong><code>oc annotate &lt;resource> &lt;name> &lt;key>=&lt;value><\/code><\/strong><br>Add annotation.<\/li>\n\n\n\n<li><strong><code>oc label &lt;resource> &lt;name> &lt;key>=&lt;value><\/code><\/strong><br>Add label.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Delete Resources<\/strong><\/h3>\n\n\n\n<ol start=\"51\" class=\"wp-block-list\">\n<li><strong><code>oc delete pod &lt;name><\/code><\/strong><br>Delete a pod.<\/li>\n\n\n\n<li><strong><code>oc delete deployment &lt;name><\/code><\/strong><br>Delete a deployment.<\/li>\n\n\n\n<li><strong><code>oc delete svc &lt;name><\/code><\/strong><br>Delete a service.<\/li>\n\n\n\n<li><strong><code>oc delete route &lt;name><\/code><\/strong><br>Delete a route.<\/li>\n\n\n\n<li><strong><code>oc delete project &lt;name><\/code><\/strong><br>Delete a project.<\/li>\n\n\n\n<li><strong><code>oc delete -f &lt;file.yaml><\/code><\/strong><br>Delete resources from file.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Resource Details &amp; Troubleshooting<\/strong><\/h3>\n\n\n\n<ol start=\"57\" class=\"wp-block-list\">\n<li><strong><code>oc describe &lt;resource> &lt;name><\/code><\/strong><br>Show details about a resource.<\/li>\n\n\n\n<li><strong><code>oc logs &lt;pod><\/code><\/strong><br>Show logs for a pod.<\/li>\n\n\n\n<li><strong><code>oc logs deployment\/&lt;name><\/code><\/strong><br>Show logs for a deployment.<\/li>\n\n\n\n<li><strong><code>oc rsh &lt;pod><\/code><\/strong><br>Open a remote shell into a pod.<\/li>\n\n\n\n<li><strong><code>oc exec &lt;pod> -- &lt;command><\/code><\/strong><br>Execute a command in a pod.<\/li>\n\n\n\n<li><strong><code>oc port-forward &lt;pod> &lt;local-port>:&lt;pod-port><\/code><\/strong><br>Forward port from pod to local machine.<\/li>\n\n\n\n<li><strong><code>oc cp &lt;pod>:&lt;src> &lt;dest><\/code><\/strong><br>Copy files from pod to local (or vice versa).<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Scaling &amp; Rollout<\/strong><\/h3>\n\n\n\n<ol start=\"64\" class=\"wp-block-list\">\n<li><strong><code>oc scale deployment\/&lt;name> --replicas=3<\/code><\/strong><br>Scale a deployment.<\/li>\n\n\n\n<li><strong><code>oc rollout status deployment\/&lt;name><\/code><\/strong><br>Watch rollout status.<\/li>\n\n\n\n<li><strong><code>oc rollout history deployment\/&lt;name><\/code><\/strong><br>View rollout history.<\/li>\n\n\n\n<li><strong><code>oc rollout undo deployment\/&lt;name><\/code><\/strong><br>Roll back to previous revision.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Builds &amp; Images<\/strong><\/h3>\n\n\n\n<ol start=\"68\" class=\"wp-block-list\">\n<li><strong><code>oc start-build &lt;buildconfig><\/code><\/strong><br>Start a build.<\/li>\n\n\n\n<li><strong><code>oc logs build\/&lt;buildname><\/code><\/strong><br>Show build logs.<\/li>\n\n\n\n<li><strong><code>oc tag &lt;src-image> &lt;dest-image><\/code><\/strong><br>Tag images between streams.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Templates &amp; Catalog<\/strong><\/h3>\n\n\n\n<ol start=\"71\" class=\"wp-block-list\">\n<li><strong><code>oc get templates<\/code><\/strong><br>List templates.<\/li>\n\n\n\n<li><strong><code>oc process &lt;template><\/code><\/strong><br>Process a template.<\/li>\n\n\n\n<li><strong><code>oc describe template &lt;name><\/code><\/strong><br>Show details about a template.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Security &amp; Policies<\/strong><\/h3>\n\n\n\n<ol start=\"74\" class=\"wp-block-list\">\n<li><strong><code>oc policy who-can &lt;verb> &lt;resource><\/code><\/strong><br>See who can do what.<\/li>\n\n\n\n<li><strong><code>oc adm policy add-role-to-user &lt;role> &lt;user><\/code><\/strong><br>Add a role to a user.<\/li>\n\n\n\n<li><strong><code>oc adm policy remove-role-from-user &lt;role> &lt;user><\/code><\/strong><br>Remove role from user.<\/li>\n\n\n\n<li><strong><code>oc adm policy add-scc-to-user &lt;scc> &lt;user><\/code><\/strong><br>Add Security Context Constraint.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Admin &amp; Diagnostics<\/strong><\/h3>\n\n\n\n<ol start=\"78\" class=\"wp-block-list\">\n<li><strong><code>oc adm top pods<\/code><\/strong><br>Show pod resource usage.<\/li>\n\n\n\n<li><strong><code>oc adm top nodes<\/code><\/strong><br>Show node resource usage.<\/li>\n\n\n\n<li><strong><code>oc adm diagnostics<\/code><\/strong><br>Run diagnostic checks.<\/li>\n\n\n\n<li><strong><code>oc adm prune images<\/code><\/strong><br>Prune old images.<\/li>\n\n\n\n<li><strong><code>oc adm manage-node &lt;node> ...<\/code><\/strong><br>Node management commands.<\/li>\n\n\n\n<li><strong><code>oc adm node-logs &lt;node><\/code><\/strong><br>Show logs from a node.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Miscellaneous<\/strong><\/h3>\n\n\n\n<ol start=\"84\" class=\"wp-block-list\">\n<li><strong><code>oc get jobs<\/code><\/strong><br>List jobs.<\/li>\n\n\n\n<li><strong><code>oc get cronjobs<\/code><\/strong><br>List cron jobs.<\/li>\n\n\n\n<li><strong><code>oc create job ...<\/code><\/strong><br>Create a new job.<\/li>\n\n\n\n<li><strong><code>oc debug node\/&lt;node><\/code><\/strong><br>Start a debug pod on node.<\/li>\n\n\n\n<li><strong><code>oc run ...<\/code><\/strong><br>Run a new pod.<\/li>\n\n\n\n<li><strong><code>oc set env &lt;resource> &lt;KEY>=&lt;VAL><\/code><\/strong><br>Set environment variable(s).<\/li>\n\n\n\n<li><strong><code>oc set volume ...<\/code><\/strong><br>Attach\/detach volumes.<\/li>\n\n\n\n<li><strong><code>oc get networkpolicies<\/code><\/strong><br>List network policies.<\/li>\n\n\n\n<li><strong><code>oc get serviceaccounts<\/code><\/strong><br>List service accounts.<\/li>\n\n\n\n<li><strong><code>oc get endpoints<\/code><\/strong><br>List endpoints.<\/li>\n\n\n\n<li><strong><code>oc get ingress<\/code><\/strong><br>List ingresses.<\/li>\n\n\n\n<li><strong><code>oc create role ...<\/code><\/strong><br>Create a role.<\/li>\n\n\n\n<li><strong><code>oc create rolebinding ...<\/code><\/strong><br>Bind a role.<\/li>\n\n\n\n<li><strong><code>oc explain &lt;resource> --recursive<\/code><\/strong><br>Show full resource documentation.<\/li>\n\n\n\n<li><strong><code>oc set probe deployment\/&lt;name> ...<\/code><\/strong><br>Set liveness\/readiness probes.<\/li>\n\n\n\n<li><strong><code>oc set selector ...<\/code><\/strong><br>Update resource selector.<\/li>\n\n\n\n<li><strong><code>oc set serviceaccount &lt;resource> &lt;serviceaccount><\/code><\/strong><br>Set service account for deployment\/pod.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Tips<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <code>-n &lt;namespace><\/code> to specify a namespace\/project for any command.<\/li>\n\n\n\n<li>Use <code>-o yaml|json|wide<\/code> to output in different formats.<\/li>\n\n\n\n<li>Tab completion works great for <code>oc<\/code>!<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bonus: Get All Resource Types<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">oc api-resources\n<\/code><\/span><\/pre>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Absolutely! Here\u2019s a comprehensive list of the Top 100 most frequently used oc (OpenShift CLI) commands, with a quick explanation for each. This will help you navigate OpenShift clusters efficiently,&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5153],"tags":[],"class_list":["post-50038","post","type-post","status-publish","format-standard","hentry","category-openshift"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/50038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=50038"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/50038\/revisions"}],"predecessor-version":[{"id":50039,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/50038\/revisions\/50039"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=50038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=50038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=50038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}