背景近期接触容器技术时,经常看到各类比较容器与虚拟机区别的文章中会提到:容器是共享宿主机的内核,而虚拟机则是拥有自己独立的内核,所以不可能在Linux上用容器运行windows,但是用虚拟机则可以。乍看下去,觉得Linux上无法运行windows是很自然的结论,然后突然升起一个疑问:Linux上无法运行windows容器,那Debian上可以运行Ubuntu容器吗?Ubuntu上又能运行CentOS容器吗?从自己实际使用上看,Debian上确实有运行CentOS的docker容器,CentOS上确实也有运行Ubuntu的docker容器,那无法运行windows容器却能运行不同发行版Linux
背景近期接触容器技术时,经常看到各类比较容器与虚拟机区别的文章中会提到:容器是共享宿主机的内核,而虚拟机则是拥有自己独立的内核,所以不可能在Linux上用容器运行windows,但是用虚拟机则可以。乍看下去,觉得Linux上无法运行windows是很自然的结论,然后突然升起一个疑问:Linux上无法运行windows容器,那Debian上可以运行Ubuntu容器吗?Ubuntu上又能运行CentOS容器吗?从自己实际使用上看,Debian上确实有运行CentOS的docker容器,CentOS上确实也有运行Ubuntu的docker容器,那无法运行windows容器却能运行不同发行版Linux
咱们这个系列是讲解Kubernetes监控,Kubernetes自身也是要跑在机器上的,那机器的监控自然也是整个体系的一环。机器层面的监控分为两部分,带内网络和带外网络,通过带内网络做监控主要是在OS里部署agent的方式,获取OS的CPU、内存、磁盘、IO、网络、进程等相关监控指标。带外监控,主要是走带外管理卡,通过IPMI、SNMP协议,获取硬件健康状况。带内监控带内监控的agent有很多,大家可能会面临选型问题,这里我对常见agent做一个基本介绍。TelegrafTelegraf来自InfluxData,InfluxData就是做InfluxDB那家公司,Telegraf是MIT协议,
咱们这个系列是讲解Kubernetes监控,Kubernetes自身也是要跑在机器上的,那机器的监控自然也是整个体系的一环。机器层面的监控分为两部分,带内网络和带外网络,通过带内网络做监控主要是在OS里部署agent的方式,获取OS的CPU、内存、磁盘、IO、网络、进程等相关监控指标。带外监控,主要是走带外管理卡,通过IPMI、SNMP协议,获取硬件健康状况。带内监控带内监控的agent有很多,大家可能会面临选型问题,这里我对常见agent做一个基本介绍。TelegrafTelegraf来自InfluxData,InfluxData就是做InfluxDB那家公司,Telegraf是MIT协议,
生产环境大都是在Linux下的,所以这篇文章我们先来分享如何使用Categraf采集LinuxOS相关的指标。读完本篇内容,你应该可以完成机器层面的监控了。原理概述Categraf作为一款agent需要部署到所有目标机器上,因为采集CPU、内存、IO、进程等指标,是需要读取OS里的一些信息的,远程读取不了。采集到数据之后,做格式转换,传输给监控服务端,这里我们使用Nightingale作为监控服务端软件。Categraf推送监控数据到服务端,走的是Prometheus的RemoteWrite协议,是基于protobuf的HTTP协议,所以,不止是Nightingale,所有支持RemoteWr
生产环境大都是在Linux下的,所以这篇文章我们先来分享如何使用Categraf采集LinuxOS相关的指标。读完本篇内容,你应该可以完成机器层面的监控了。原理概述Categraf作为一款agent需要部署到所有目标机器上,因为采集CPU、内存、IO、进程等指标,是需要读取OS里的一些信息的,远程读取不了。采集到数据之后,做格式转换,传输给监控服务端,这里我们使用Nightingale作为监控服务端软件。Categraf推送监控数据到服务端,走的是Prometheus的RemoteWrite协议,是基于protobuf的HTTP协议,所以,不止是Nightingale,所有支持RemoteWr
我们在Docker容器中运行程序,有的时候需要显示容器中的图像,或在容器中运行一些图形界面的软件、调用摄像头等,而Docker采用的是命令行的工作模式,那么docker容器中的输出图像等如何在宿主屏幕上显示呢,可以采用文件挂载或者网络通信的方式。1、在本地宿主机器上安装X11界面工具,一般Linux系统已经安装xhost+是开放权限,允许所有用户包括docker访问X11的显示接口,注意:每次重新开机,需要在本地执行一次xhost+ sudoapt-getinstallx11-xserver-utilsxhost+2、创建docker容器时,添加参数:-v/tmp/.X11-unix:/
我们在Docker容器中运行程序,有的时候需要显示容器中的图像,或在容器中运行一些图形界面的软件、调用摄像头等,而Docker采用的是命令行的工作模式,那么docker容器中的输出图像等如何在宿主屏幕上显示呢,可以采用文件挂载或者网络通信的方式。1、在本地宿主机器上安装X11界面工具,一般Linux系统已经安装xhost+是开放权限,允许所有用户包括docker访问X11的显示接口,注意:每次重新开机,需要在本地执行一次xhost+ sudoapt-getinstallx11-xserver-utilsxhost+2、创建docker容器时,添加参数:-v/tmp/.X11-unix:/
有时,我们经常会在数据库服务器上做一些定时备份的工作,最常用的方法就是写个sh脚本,然后配置/etc/crontab定时策略即可,但它有缺点,我总结如下:脚本基本相同,代码需要在每个数据服务器上部署由于代码是分布的,并且是个代码,所以管理不清晰,不直观控制不统一,你需要在每个服务器的/etc/crontab里配置策略xxl-job主要解决任务调度的问题,并且它是分布式的,可以有多个执行器,多个执行器可以进行集群策略的定时,包括轮训,随即,hash,LRU,LFU等等,下面使用xxl-job来实现这个定时备份的功能。先准备脚本文件文件可以直接写在java代码时,通过代码去构建文件,就不需要在每个
有时,我们经常会在数据库服务器上做一些定时备份的工作,最常用的方法就是写个sh脚本,然后配置/etc/crontab定时策略即可,但它有缺点,我总结如下:脚本基本相同,代码需要在每个数据服务器上部署由于代码是分布的,并且是个代码,所以管理不清晰,不直观控制不统一,你需要在每个服务器的/etc/crontab里配置策略xxl-job主要解决任务调度的问题,并且它是分布式的,可以有多个执行器,多个执行器可以进行集群策略的定时,包括轮训,随即,hash,LRU,LFU等等,下面使用xxl-job来实现这个定时备份的功能。先准备脚本文件文件可以直接写在java代码时,通过代码去构建文件,就不需要在每个