OpenShift Troubleshooting

From NovaOrdis Knowledge Base
Revision as of 19:55, 18 November 2020 by Ovidiu (talk | contribs) (→‎Internal)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Internal

Overview

The general technique is to increase the logging level of various OpenShift master (api, controllers) and node processes as described here:

Change the Log Level for OpenShift Processes

--loglevel=10 seems to work fine.

Then tail the journalctl log. More details on getting logging information:

OpenShift Master and Node Process Logging

General Troubleshooting

Troubleshooting OpenShift Container Platform: Basics:

https://access.redhat.com/solutions/1542293

Installation Troubleshooting

Installation Troubleshooting

Master/Node Processes Troubleshooting

OpenShift Runtime

Troubleshooting Pods

oc -n <project-name> get pods
oc -n <project-name> describe po/<pod-name>

...
Name:			logging-fluentd-3kz30
...
Node:			node2/
...
Status:			Failed
Reason:			MatchNodeSelector
Message:		Pod Predicate MatchNodeSelector failed

In-line pod logs:

oc logs -f <pod-name>

Connect to a pod:

oc rsh <pod-name>

Connect to a Pod as Root

Log into the physical node running the pod. The pod - node association can be inferred executing

oc describe <pod-name> 

and extracting the "Node:" value.

On the node, run

docker ps

and identify the container ID.

Then

 docker exec -u 0 -it 3152a2509d92 /bin/bash

For more details on docker exec, see:

docker exec

As root, various diagnostic utilities can be temporarily installed:

yum install bind-utils

Copy Files into Pods

For more details on oc cp:

oc cp

Troubleshooting Projects

Troubleshooting Routes

Troubleshooting Logging

 oadm diagnostics AggregatedLogging

Troubleshooting Kibana

Troubleshooting Kibana in OpenShift

Troubleshooting Metrics

oadm diagnostics MetricsApiProxy
OpenShift Metrics Concepts

Cases