Linux安装NVidia Docker Runtime

NVIDIAContainerRuntime是一种GPU感知容器运行时,与Docker、CRI-O和其他流行容器技术使用的OpenContainersInitiative(OCI)规范兼容。它简化了构建容器化GPU加速应用程序并将其部署到桌面、云或数据中心的过程。借助NVIDIAContainerRuntime支持的容器技术(如Docker),开发人员可以将其GPU加速应用程序及其依赖项打包到一个包中,无论部署环境如何,都能保证在NVIDIAGPU上提供最佳性能。介绍完了我们接着直接看看安装方法ubunt...

阅读全文

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服务拉起来如果上述方式...

阅读全文

使用cordon设置k8s节点不调度pod

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

阅读全文

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

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

阅读全文

k8s扩容pv存储的方法

k8s之前配置存储卷容量太小,之前设置的容量规格已经不能满足现有资源存储,那么我们需要进行扩容kubernetes1.11版本中开始支持pvc创建后的扩容,这点很方便,但是还是有前提,是我们必须配置存储资源对象StorageClass如果配置了的话我们接着往下看,修改扩容的步骤比较简单,此次所有的配置修改可以直接查看上次的一个笔记:https://sulao.cn/post/826.html我们首先看下storageclasskubectl get scNAME     &nbs...

阅读全文

k8s安装prometheus

k8s安装prometheus我本地安装的k8s是1.19.9这个版本,需要找到对应的安装版本kube-prometheusstackKubernetes1.19Kubernetes1.20Kubernetes1.21Kubernetes1.22Kubernetes1.23release-0.7✔✔✗✗✗release-0.8✗✔✔✗✗release-0.9✗✗✔✔✗release-1.0✗✗✗✔✔main✗✗✗✔✔目前我这个版本对应的是prometheusrelease-0.7这个版本,那么我们就直接打开https://github.co...

阅读全文

查看ECTD中数据的方法

kubernetes的API对象的数据都保存在etcd中我们在实际环境中要管理ETCD需要使用ETCDCTL工具,所以我们需要下载相关工具下载地址是:https://github.com/etcd-io/etcd/releases目前最新版是3.5.4,我们下载解包,然后添加环境变量即可使用etcdctl工具wget https://github.com/etcd-io/etcd/releases/download/v3.5.4/etcd-v3.5.4-linux-amd64.tar.gztar -zxvf etcd-v...

阅读全文

k8s使用secret拉取私有镜像

我们在拉取仓库镜像时需要先dockerlogin,然后有很多节点的时候这么操作很苦逼,所以可以用过创建secret方式来做一些配置到pod的yaml文件中,这样就会无需手工去登录也能拉取镜像,下面我们来看看如何操作我们如果不在调度节点使用dockerlogin登录仓库,或者其他配置时,我们直接创建的pod拉取镜像event会有如下报错那么我们来看看secret的方式拉取私有仓库的镜像,首先,我们需要创建一个用户名密码的secretkubectl -n test create secret docker...

阅读全文

k8s证书有效期修改

1.首先我们查看当前证书有效期,有几种方式可以查询第一种方式:kubeadm alpha certs check-expiration第二种方式:cd /etc/kubernetes/pkifor i in $(ls *.crt); do echo "===== $i ====="; openssl x509 -in $i -text -noo...

阅读全文

ETCD状态检查以及碎片压缩

在安装了etcd3.10版本之后,使用etcdctl和etcd交互时需要将api版本设置为3,默认,为了向后兼容etcdctl使用v2API来和etcd服务器通讯。为了让etcdctl使用v3API来和etcd通讯,API版本必须通过环境变量ETCDCTL_API设置为版本3export ETCDCTL_API=3查看ETCD版本方法etcd --version#返回etcd Version: 3.4.13Git SHA: ae9734ed2Go...

阅读全文