OpenShift Pod Operations

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

External

Internal

List Pods for a Project

oc get projects

oc get -n <project-name> pods

List Pods on Nodes

oadm manage-node <node-name> --list-pods

Pod Status

The most complete information set is generated by "oc get -o yaml pod ..." and "oc describe pod ...":

oc [-n <project-name>] [[oc get#pods|get pods]
oc [-n <project-name>] -o yaml get pod] <pod-name>
oc [-n <project-name>] describe pod <pod-name>
oc [-n <project-name>] describe pod/<pod-name>
oc [-n <project-name>] edit pod/<pod-name>

Monitor Pod's Logs

oc logs -f <pod-name>

Execute Commands in Containers

oc rsh <pod-id> <command>

Deploy a Simple Pod that Allows Arbitrary Commands in a Project

Simple Pod Running inside an OpenShift Project

Update a Pod Defintion

Stopping Pods

A pod can be stopped by deleting its associated "pod" object:

oc delete pod/logging-fluentd-3kz30

The controller (either replication or DamonSet) will detect that the pod is missing and it will start a new one.

Evacuate Pods from Node

https://docs.openshift.com/container-platform/latest/admin_guide/manage_nodes.html#evacuating-pods-on-nodes

Only pods backed by replication controllers can be evacuated. The "bare" pods cannot be evacuated.

Drain the node.

oadm drain <node-name> [--delete-local-data] [--ignore-daemonsets] [--force] 
oadm drain node2 --delete-local-data --ignore-daemonsets

Use --delete-local-data if there are pods with local storage - such as Maven build pods.

Use --ignore-daemonset if there are ignore DaemonSets: If there are DaemonSet-managed pods, drain will not proceed without --ignore-daemonsets, and regardless it will not delete any DaemonSet-managed pods, because those pods would be immediately replaced by the DaemonSet controller, which ignores unschedulable markings.

oadm manage-node --evacuate is deprecated.

Scaling Down and Up the Number of Replicas associated with a DeploymentConfig

Application Operations - Scaling Up and Down the Number of Replicas associated with a DeploymentConfig