k8s临时容器

1.环境依赖

k8s版本:v1.25+ #低于1.25自行百度开启临时容器功能
创建一个测试pod
debug容器镜像

2.创建临时容器

# debugger:容器名称  --copy-to:pod名称           --image:临时容器的镜像      --same-node:是否和被debug容器在同一节点上    --share-processes:是否和被debug容器共享进程空间
kubectl debug  -n default pod-demo -c debugger --copy-to=my-debugger  --image=registry.cn-hangzhou.aliyuncs.com/mq_basic/centos7-debug:v1  --same-node=true  --share-processes=true 
kubectl get pods
NAME          READY   STATUS    RESTARTS   AGE
my-debugger   2/2     Running   0          16m
pod-demo      1/1     Running   0          52m

3.进入容器

#注意 pod和容器名称和创建时保持一致
kubectl -n default exec -it my-debugger -c debugger -- /bin/bash 

4.调试容器

[root@my-debugger ~]# ps aux   #查看两个容器的所有进程
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
65535          1  0.0  0.0    956     4 ?        Ss   06:41   0:00 /pause
root           6  0.0  0.0  13736  2360 ?        Ss   06:41   0:00 nginx: master process nginx -g daemon off;  #myapp 容器进程
100           12  0.0  0.0  14184  1272 ?        S    06:41   0:00 nginx: worker process
root          13  0.0  0.0   4400   352 ?        Ss   06:41   0:00 tail -f /dev/stdout   #debug 容器进程
root          66  0.0  0.0  11828  1884 pts/0    Ss   07:01   0:00 /bin/bash
root          80  0.0  0.0  51732  1712 pts/0    R+   07:01   0:00 ps aux
[root@my-debugger ~]# ls /proc/6/root/    # ls /proc/6/root/   #等同于在被debug容器中执行ls /,其中6表示被debug容器中启动进程的进程ID
bin  dev  etc  home  lib  media  mnt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@my-debugger ~]# ls /proc/6/root/usr/share/nginx/html/   #查看被debug容器Nginx相关文件
50x.html  index.html
[root@my-debugger ~]# ls /proc/13/root/  #同上,13为当前容器启动进程的进程ID
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

 

 

posted @ 2023-07-21 15:16  百衲本  阅读(117)  评论(0编辑  收藏  举报
cnblogs_post_body { color: black; font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif; font-size: 15px; } cnblogs_post_body h1 { text-align:center; background: #333366; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 23px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h2 { text-align:center; background: #006699; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 20px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h3 { background: #2B6695; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 18px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } 回到顶部 博客侧边栏 回到顶部 页首代码 回到顶部 页脚代码