why host process contains kubernetes pod process

2/4/2020

when I am list process of host using this command:

[root@fat001 ~]# ps -o user,pid,pidns,%cpu,%mem,vsz,rss,tty,stat,start,time,args ax|grep "room"
root      3488 4026531836  0.0  0.0 107992   644 pts/11   S+   20:06:01 00:00:00 tail -n 200 -f /data/logs/soa-room/spring.log
root     18114 4026534329  8.5  2.2 5721560 370032 ?      Sl   23:17:51 00:01:53 java -jar /root/soa-room-service-1.0.0-SNAPSHOT.jar
root     19107 4026531836  0.0  0.0 107992   616 pts/8    S+   19:14:10 00:00:00 tail -f -n 200 /data/logs/soa-room/spring.log
root     23264 4026531836  0.0  0.0 112684  1000 pts/13   S+   23:39:57 00:00:00 grep --color=auto room
root     30416 4026531836  3.4  3.4 4122552 567232 ?      Sl   19:52:03 00:07:53 /opt/dabai/tools/jdk1.8.0_211/bin/java -Xmx256M -Xms128M -jar -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5011 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/dump /data/jenkins/soa-room-service/soa-room-service-1.0.0-SNAPSHOT.jar

I am very sure this process is kubernetes pod's process:

root     18114 4026534329  8.5  2.2 5721560 370032 ?      Sl   23:17:51 00:01:53 java -jar /root/soa-room-service-1.0.0-SNAPSHOT.jar

Why the kubernetes container's process show on host?It should be in the docker's container!!!!!

-- Dolphin
kubernetes

1 Answer

2/4/2020

This is perfectly normal. Containers are not VM.

Every process run by Docker is run on the host Kernel. There is no isolation in term of Kernel.

Of course, there is an isolation in terms of process between containers, as each container's process are run in an isolated process namespace.

In summary : container A can't see container B process (well, not by default), however as all the containers process are run inside your host, you'll always be able to see the process from your host.

-- Marc ABOUCHACRA
Source: StackOverflow