Skip to content

How to find the pod details from container in OpenShift

https://www.linkedin.com/in/gineesh/ https://twitter.com/GiniGangadharan

When we have issue with container and we are not sure which pod the container belongs to; we can find the pods details as below.

Use case : we have some zombie process running (defunct) but we are not sure which container is causing this zombie process.

Find the defunct processes

[[email protected] bin]# ps -ef |grep -v grep |grep -i defunct
1019710+  15222  15581  0 05:30 ?        00:00:00 [sh] 
1019710+ 15618 15581 0 05:30 ? 00:00:00 [sh] 1019710+ 37360 15581 0 Sep23 ? 00:00:00 [sh]
1019710+ 37569 15581 0 Sep23 ? 00:00:00 [sh] 1019710+ 37806 15581 0 Sep23 ? 00:00:00 [sh] 1019710+ 37939 15581 0 Sep23 ? 00:00:00 [git]

Find the docker image causing this zombies

We can use the systemd-cgls tool to find this; either run and search for the PID or grep for the PID.

[[email protected] bin]# systemd-cgls |grep -B4 15581
│   │   └─95146 /usr/bin/pod
│   ├─kubepods-burstable-poda3a903e7_b912_11e8_8c1f_40f2e91e547d.slice
│ │ ├─docker-24695bc78b0f3908786fe00616df5sc023c9acc535aa4f53a8c5a04c96f840611.scope
│ │ │ ├─15492 /usr/bin/dumb-init -- /usr/libexec/s2i/run
│ │ │ └─15581 /usr/java/jdk1.8.0_181-amd64/bin/java -XX:+UseParallelGC -XX:…

You can see the info in docker line.

Find the container ID

(usually first 12 digit of that docker line)

[[email protected] bin]# docker ps |grep 24695bc78b0f
24695bc78b0f 10.221.246.15:5000/delivery-prod/[email protected]:9c3b04e78c201ba50459e4806a5106ac326ec92c46ef5381f46fd2b0ed812ac4 "/usr/bin/dumb-init -" 8 days ago Up 8 days k8s_jenkins-as-a-service-abcd_jenkins-as-a-service-abcd-18-qj76w_test_proj_a3a903e7-b912-11e8-8c1f-40f2e91e547d_0

We can read the project and pod information from above line by splitting last string by “_”.

  • jenkins-as-a-service-abcd – application
  • jenkins-as-a-service-abcd-18-qj76w – pod
  • test_proj – project
  • a3a903e7-b912-11e8-8c1f-40f2e91e547d – uid

Find and verify pod details from master

[[email protected] ~]# oc get pods|grep jenkins-as-a-service-abcd
and verify
[[email protected] ~]# oc get pod jenkins-as-a-service-abcd-18-qj76w -o=json

(Switch to respective project as you need)

Disclaimer: The views expressed and the content shared are those of the author and do not reflect the views of the author’s employer or techbeatly platform.


https://www.linkedin.com/in/gineesh/ https://twitter.com/GiniGangadharan
Gineesh Madapparambath is the founder of techbeatly and he is the author of the book - 𝗔𝗻𝘀𝗶𝗯𝗹𝗲 𝗳𝗼𝗿 𝗥𝗲𝗮𝗹-𝗟𝗶𝗳𝗲 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻. He has worked as a Systems Engineer, Automation Specialist, and content author. His primary focus is on Ansible Automation, Containerisation (OpenShift & Kubernetes), and Infrastructure as Code (Terraform). (aka Gini Gangadharan - iamgini.com)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.