centos下k8s集群docker切换containerd

之前有记录使用containerd部署k8s集群的笔记,这次记录一个已有k8s集群从docker切换到containerd方法的笔记,下面就介绍切换的操作过程首先下载containerd包wget https://github.com/containerd/containerd/releases/download/v1.7.10/cri-containerd-1.7.10-linux-amd64.tar.gz部署containerdtar -zxvf cri-containerd-1.7.10-linux-amd64.tar...

阅读全文

k8s磁盘容量限制的方法

容器在运行中产生的日志和临时如果没有限制,会很快占满宿主的磁盘空间,导致磁盘写爆,今天就介绍下常见的限制POD使用容量的方法。POD容器的临时存储如果在kubelet的配置没有更改的情况下默认存储在/var/lib/kubelet/pods目录下,容器的日志存放在/var/log/pods目录下。docker容器rootfs默认位于/var/lib/docker目录下当节点磁盘存储资源不足,kubelet会驱逐掉一些POD来释放存储资源,这种检测磁盘资源不足的信息主要来源于imagesfs和nodefs,他们分别的作用是:imagefs:容器运行时用作存...

阅读全文

Docker查看镜像构造和层次

我们使用docker时也会遇到镜像commit超过最大层数的问题,所以解决这个问题的前提是我们需要了解怎么样查看镜像构造和层级目前docker构建镜像最大是127层,在dockerbuild时基本每行命令都是一层,再构建好使用时我们也会去再次commit镜像,那么这样也算是新的层级。查看docker构造和层级主要有两个命令,一个是inspcect,另一个是history我们使用inspect查看一个镜像的构造docker inspect aedb33724815这里面展示了整个镜像构建的命令结果和层级,具体层级可以使用下面命令进行...

阅读全文

Docker清理数据和目录结构介绍

今天上集群查看有POD状态不正常,然后describePOD事件提示docker: Error response from daemon: open /var/lib/docker/overlay2/***: no such file or directory出现这个提示的意思是overlay2下面的这个文件没有了,出现这个问题的原因是dockerrootdir目录已经写满了,rootdir的默认路径就是/var/lib/docker,...

阅读全文

nerdctl的安装和常用命令

nerdctl是一个类似于DockerCLI的命令工具,用于管理和运行容器,它提供与Docker兼容的接口,并支持和containerd集成。nerdctl安装首先下载安装包wget https://github.com/containerd/nerdctl/releases/download/v1.5.0/nerdctl-1.5.0-linux-amd64.tar.gztar -zxvf nerdctl-1.5.0-linux-amd64.tar.gzcp -a nerdctl /u...

阅读全文

containerd常用基本命令

在2016年12月14日,Docker公司宣布将containerd从Docker中分离,由开源社区独立发展和运营。Containerd完全可以单独运行并管理容器,而Containerd的主要职责是镜像管理和容器执行。同时,Containerd提供了containerd-shim接口封装层,向下继续对接runC项目,使得容器引擎DockerDaemon可以独立升级。Containerd可以在宿主机中管理完整的容器生命周期:容器镜像的传输和存储、容器的执行和管理、存储和网络等。总结一下,它主要负责干以下事情:管理容器的生命周...

阅读全文

ubuntu安装nvidia-container-runtime

借助NVIDIAContainerRuntime,开发人员只需在创建容器期间注册一个新的运行时,即可将NVIDIAGPU暴露给容器中的应用程序。目前官网上NVIDIAContainerRuntime介绍如下NVIDIAContainerRuntimeisaGPUawarecontainerruntime,compatiblewiththeOpenContainersInitiative(OCI)specificationusedbyDocker,CRI-O,andotherpopula...

阅读全文

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的操作...

阅读全文

k8s设置pod特权privileged的方法

k8s部署es的时候需要初始化很多linux的内核参数。但是文件系统挂载到pod容器中就会变成read-only,难以进行操作实现需求。所以需要给PODprivileged权限,然后在容器的初始化脚本或代码中去修改sysctl参数。创建POD/deployment/daemonset等对象时,给容器的spec指定securityContext.privileged=true即可设置到containers同级即可    securityContext:     ...

阅读全文