OpenShift Pod Operations: Difference between revisions
Line 54: | Line 54: | ||
Drain the node. | Drain the node. | ||
[[oadm drain]] <''node-name''> [--force] | [[oadm drain]] <''node-name''> [--force] [--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. | oadm manage-node --evacuate is deprecated. |
Revision as of 04:58, 22 November 2017
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>
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
Only pods backed by replication controllers can be evacuated. The "bare" pods cannot be evacuated.
Drain the node.
oadm drain <node-name> [--force] [--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.