docker部署keepalived非抢占单播模式

之前咱们学习了keepalive的各种模式,详情可以查看这个笔记https://sulao.cn/post/877.html,这次我们就在上次学习的基础上部署keepalive非抢占单播模式在配置部署之前我们我们先了解下单播,组播,广播这些词的概念单播:在同一局域网内,两个设备点对点的通信就是单播通信。组播:在同一网络可达范围内,一个网络设备与关心其数据的部分设备进行通信就是组播。广播:在同一网络可达范围内,一个网络设备向本网络内所有设备进行通信就是广播。在组播模式下,keepalived将全部的心跳包信息都会向默认的224.0.0.18的组播地...

阅读全文

TensorFlow运行报错illegal instruction (core dumped)

搜索了相关资料,导致该错误可能是没有avx指令集,或者是CPU不支持avx指令集因为我本地是虚拟机上部署的k8s集群,有可能CPU虚拟化没有做指令集的直通,那么我尝试修改KVM虚拟机配置首先我们关闭虚拟机,然后使用virsh命令对虚拟机配置进行修改virsh edit k8s-node2找到  <cpu mode='custom' match='exact' check='none'>   &...

阅读全文

keepalive各种模式解析和相关配置

之前我们学习过keepalive的部署,这次我们来学习下keepalive各种运行模式keepalive目前有两种运行模式1.抢占模式抢占模式下其实还可以分组主主模式和主备模式主备模式:当master宕机或者网络等各种因素不能工作时会自动切换到备机,这时备机通过VIP接管主机的全部服务,同时如果master恢复服务,VIP就会再次漂回至master主主模式:主主模式这时候所有的机器state都配置为MASTER,这时候所有keepalive节点都会进行VIP的抢占,这时候是通过priority这个优先级的参数决定的2.非抢占模式非抢占模式下当一台节点网络...

阅读全文

k8s执行命令提示连接服务器was refuused

有时我们在服务器异常重启以后,部署在上面的k8s执行kubectl命令直接提示The connection to the server 192.168.1.72:6443 was refused - did you specify the right host or port?出现这种情况时我们可以先检查kubelet和docker服务的状态,有时我们重启可能需要等一下k8s服务拉起来如果上述方式...

阅读全文

设置k8s节点不调度pod和节点驱逐的方法

在k8s的项目中今天需要停止某一节点的服务,对该节点进行更新、升级、或者是更换硬件时,这个时候需要对节点进行设置,让其不参与k8s的调度,具体的设置方法如下使用cordon设置节点不可调度kubectl cordon node_namekubectl uncordon node_name #取消不可调度当使用cordon来设置节点不可调度时,目前运行在该节点上的POD不受影响,能够继续运行当使用cordon设置以后查看node时,该节status后面会跟一个SchedulingDisabled的状态如...

阅读全文

ubuntu20.04安装horovod

Horovod是一套支持TensorFlow,Keras,PyTorch,andApacheMXNet的分布式训练框架,由Uber构建并开源的第三方库,在分布式训练中性能优于原生像Tensorflow这种ps,worker架构,且代码改动量少,无需在多个节点多次执行脚本命令,使用起来方便。首先我们需要安装nccl可以去官网查找对应版本,https://developer.nvidia.com/nccl/nccl-legacy-downloads我下的ubuntu20.04这个版本,直接安装dpkg -i nccl-l...

阅读全文

iostat使用及相关参数说明

iostat是I/Ostatistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况iostat的语法如下iostat [ 选项 ] [ <时间间隔> [ <次数> ]]-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果-d:单独输出Device结果,不包括cpu结果-k/-m:输出结果以kB/mB为单位,而不是以...

阅读全文

linux共享内存shm详解

linux中/dev目录下一般都是一些设备文件,例如磁盘、内存、摄像头等,其中/dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。/dev/shm的容量默认最大为内存的一半大小,使用df-h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节。/dev/shm的文件系统为tmpfs,即为临时文件系统shm和内存中的shared部分关联,下面我们做一个实验来看看首先我们执行free命...

阅读全文

opencv读取图片时报错libpng error的解决方法

最近遇到了在使用opencv读取图片的时候报错报错libpngerror:ReadError然后我将图片下载下来,直接双击打开发现该图片已经损坏,那么我尝试在我的代码中添加try...except进行异常的捕获,发现try...except不能捕获该错误import cv2try:    x = cv2.imread("16594318572323.png", -1)    print(x)ex...

阅读全文

pod报错no space left on device的解决方法

查看k8s上有一些POD日志中提示Error:failedtocreateFSwatcher:nospaceleftondevice看到这个错误提示第一时间想到的是是不是磁盘用满了,然后我开始检查机器上的资源,包含CPU,内存,硬盘发现上面检查项均为正常的然后describenode发现节点上的配额还有很多,实际使用已分配的资源都不高,然后我翻找资料,有提示相关的内核方面的问题,需要优化调整fs.inotify.max_user_watches的值sysctl fs.inotify.max_user_watches用上述命...

阅读全文