zoukankan      html  css  js  c++  java
  • k8s取节点内docker中的日志

    Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。


    图片参考这里

    问题:

    Node节点ip是集群内私有ip,只能通过API server[master]-------->kube proxy[Node],所以外部无法直接取得Node内Pod中container里程序运行的日志(文件)。
    必须从master节点入手,然后通过Node ip地址(私有地址)进入Node,通过docker cp将Pod节点内container运行的日志,复制到宿主节点(Node),在通过scp将Node中文件复制到master节点。可取。

    取日志步骤

    • 获得master节点ip,ssh root@ip 登录到master节点
    • 获得Node节点的ip2(平台如PaaS,是可以通过UI看到的),也就是Pod节点的宿主机的ip, ssh root@ip2
    • 获得运行进程的container id,通过docker ps,找到运行进程对应的container id即可,假设为containerID
    • docker cp containerID:/home/tmp /tmp ,将containerID中的文件复制到宿主机
    • scp -r /tmp root@ip:/tmp ,将宿主机文件复制到master节点
    • 通过ftp将master节点文件down到本地

    k8s学习参考

  • 相关阅读:
    Spring bean的自动装配
    JSP三大指令
    JSP九大内置对象
    Java异常的捕获顺序(多个catch)
    Integer.parseInt(s)和Integer.valueOf(s)之间的区别
    mysql忘记密码(MySQL5.7)
    java的四种内部类
    内存泄露查询
    深度优先和广度优先比较
    循环队列
  • 原文地址:https://www.cnblogs.com/lknny/p/6965278.html
Copyright © 2011-2022 走看看