k8s出现kubelet证书过期问题解决方法

一般我们在部署k8s集群,创建的证书期限只有一年,当master节点证书重建以后,那么此时在低版本的K8s集群中可能还会遇到以下客户端证书过期问题此时我们备份故障节点/etc/kubernets/kubelet.conf文件并删除,然后去一个正常的master节点,使用以下命令重新生成一个kubelet.conf文件kubeadm kubeconfig user --org system:nodes --client-name system:node:$NODE > k...

阅读全文

linux下NVLink版NVIDIA A100安装Fabric-manager的方法

NVIDIANVLinkA100GPU卡,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联通过NVSwitch互联,如果仅安装NVIDIAGPU驱动程序,会导致GPU不能正常使用。下面列出了ubuntu和centos7的安装方法,均是通过在线源来安装1.ubuntu的安装方式如下:首先需要安装数据中心GPU管理器,安装nvidiaDCGM,本次安装是在ubuntu上进行安装,获得存储库密钥:wget https://developer.download.nvidia.com/comp...

阅读全文

python协程库asyncio的基本用法

asyncio库是python实现异步任务的库,在python3.4引入,在3.5和3.7分别都有一些改进和用法的改变协程本质就是一种用户态的上下文切换技术,我们创建事件循环,然后将我们的任务丢入到这个事件循环中就实现了任务的异步IO本地环境python3.9,所以例子可能无法在python3.8以下环境跑通,咱们也不再回头学习低版本python中的写法了。首先我们要了解几个关键字的含义async:用来声明一个函数为异步函数,异步函数的特点是函数能在执行的过程中挂起,去执行其他的异步函数,等到挂起条件消失后,再回来执行后续代码。await:await会把...

阅读全文

docker日志告警Your kernel does not support swap limit capabilities or the cgroup is not mounted

在k8s集群重启了一个节点,该节点启动以后在docker日志里面有如下警告信息WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted我们在安装k8s集群的时候就已经将swap注释掉了,按道理不应该再有swap相关的警告或者错误信息后面经过分析,出现这种问题只会在ubuntu和debian的操作...

阅读全文

js刷新iframe父窗口的几种方法

后台页面使用iframe布局的可以记录下,方便后面使用的时候查找self.location.reload();使用上述命令可以刷新当前的iframe框架,而不刷新整个页面,或者直接使用以下命令刷新当前页面window.location.reload(true);如果刷新父窗口iframe可以使用下面命令parent.location.reload();也可以刷新指定id的iframe,#main就是frame的iddocument.getElementById('#main').src=src;...

阅读全文

pod删除长时间处于Terminating状态的解决办法

当POD被删除以后,一直保持Terminating状态,那么这个POD可能不仅仅是删除不掉的问题,可能关联服务异常引起的,可以检查下kubelet服务和docker服务,或者其它问题引起的POD没有收到中断的信号。这里只是仅仅记录下如下强制删除这种POD,至于根本原因还需要根据自己环境情况进行排查。强制删除命令如下kubectl delete pod -n <namespace> <pod_name> --grace-period=0 --force也可以通过移...

阅读全文

python k8s api操作类

网上找了零散的,然后看了k8s的pythonapi,里面很有方法,大致整理了一下操作的封装,很多操作返回都有to_dict()方法可以直接将返回的对象转为字典,之前没注意,后面懒得改了,写的比较乱,直接记录下来方便以后使用。#!/usr/bin/python3#coding:utf-8__author__ = 'yang.su'from kubernetes import client, configfrom app.common impo...

阅读全文