• 2024-07-016
    第一步:配置Docker远程访问修改/lib/systemd/system/docker.service#ExecStart=/usr/bin/dockerd-Hfd://--containerd=/run/containerd/containerd.sockExecStart=/usr/bin/dockerd-Htcp://0.0.0.0:2375-Hunix:///var/run/docker.sock重启docker服务systemctldaemon-relo
  • 2024-06-23Containerd-基础
    本文致力于学习并梳理Containerd,信息来源均参考至官方Github,原文链接如下补充。开始使用link:https://github.com/containerd/containerd/blob/main/docs/getting-started.md仅梳理Linux二进制安装,其他信息并未梳理。依赖与限制独立使用containerd依赖于runc与CNIplugi
  • 2024-06-23Containerd-cri常用功能
    本文致力于学习并梳理Containerd,信息来源均参考至官方Github,原文链接如下补充。cri工作架构link:https://github.com/containerd/containerd/blob/main/docs/cri/architecture.mdKubelet通过CRI运行时服务API调用cri插件来创建pod;cri创建pod的网络命名空间
  • 2024-06-23kubernetes客户端crictl命令
    kubernetes客户端crictl命令crictl是一个命令行工具,用于与容器运行时接口(CRI)兼容的容器运行时(如containerd和CRI-O)进行交互。crictl提供了许多有用的命令来管理容器、镜像和sandboxes。官方仓库地址:kubernetes-sigs/cri-tools:CLIandvalidationtoolsforKubeletCon
  • 2024-06-23Containerd命令行工具nerdctl
    Containerd客户端工具nerdctl相比Containerd自带的ctr工具,nerdctl操作方式更接近之前的docker命令。nerdctl是一个与dockercli风格兼容的containerd客户端工具,而且直接兼容dockercompose的语法的。仓库:https://github.com/containerd/nerdctl1.安装二进制文件下载路
  • 2024-06-22containerd的客户端工具ctr命令
    containerd的客户端工具ctr命令类似docker为docker-shim容器运行时的客户端工具,ctr是containerd的客户端工具,安装containerd作为容器运行时后,会自动安装ctr。root@master1:~#ctr-vctrgithub.com/containerd/containerd1.7.121.帮助文档ctr帮助文档root@master1:~#
  • 2024-06-22Debian12 安装kubernetes
    PrerequisitesMinimalInstalledDebian12/112CPU/vCPU2GBRAM20GBfreediskspaceSudoUserwithAdminrightsStableInternetConnectivityEnsurethateachnodecancommunicatewiththeothersviaareliablenetworkconnection.1.设置hostname和hos
  • 2024-06-20以沙箱的方式运行容器:安全容器Kata Containers
    目录一.系统环境二.前言三.KataContainers简介四.Gvisor与Kata区别对比五.配置docker使用kata作为runtime5.1安装docker5.2安装kata5.2.1在线安装(不推荐,下载非常慢)5.2.2使用rpm包离线安装(推荐)5.3配置docker支持kata作为runtime5.4docker使用kata作为runtime创建容器六
  • 2024-06-20以沙箱的方式运行容器:安全容器gvisor
    目录一.系统环境二.前言三.安全容器隔离技术简介四.Gvisor简介五.容器runtime简介六.docker容器缺陷七.配置docker使用gVisor作为runtime7.1安装docker7.2升级系统内核7.3安装gvisor7.4配置docker默认的runtime为gVisor7.5docker使用gVisor作为runtime创建容器八.配置contain
  • 2024-06-19一行超长日志引发的 “血案” - Containerd 频繁 OOM 背后的真相
    案发现场:混沌初现2024年6月10日,本应是平静的一天。但从上午9点开始,Sealos公有云的运维监控告警就开始不停地响。北京可用区服务器节点突然出现大量“notready”告警,紧接着,系统自动触发004节点重启,让服务暂时恢复了正常。就在我以为这只是个小插曲的时候,7分钟后,广州可用
  • 2024-06-17k8s拉取harbor仓库镜像
    目录1.修改containerd配置文件2.重启containerd3.验证由于现在国内无法连cker接dohub,所以镜像也是拉取不到的,所以需要去拉取本地仓库的地址k8s版本1.26如果直接去指定harbor的地址的话是会失败的[root@mastercontainerd]#kubectlruntomcat1--image192.168.200.200:5
  • 2024-06-12Ubuntu 22.04扩容LVM空间
    今天为了编译ThingsBoard的源代码,发现原来给虚拟机分配的40个G不够用了。于是乎在VMWareWorkstation中扩容了40G的磁盘空间。但是此时lvm是不会自动扩容的,因此我们需要手动调整下卷的配置。首先df-h检查发现挂载的空间的确没有变化mrchip@ubuntu22:~$df-hFilesystem
  • 2024-06-11各种容器运行时都解决了什么问题
    运行时指的是程序的生命周期阶段或使用特定语言来执行程序。容器运行时的功能与它类似--它是运行和管理容器所需组件的软件。这些工具可以更轻松地安全执行和高效部署容器,是容器管理的关键组成部分。在容器化架构中,容器运行时负责从存储库加载容器镜像、监控本地系统资源、隔离系
  • 2024-06-06超越预期:Containerd 如何成为 Kubernetes 的首选容器运行时
    >作者:尹珉,KubeSphereAmbassado,rKubeSphereContributor,KubeSphere社区用户委员会杭州站站长。踏上Containerd技术之旅容器技术已经成为现代软件开发和部署的核心工具。通过容器,开发者可以创建轻量级、便携的运行环境,从而简化应用程序的开发、测试和部署流程。在容器技术
  • 2024-06-04containerd 源码分析:创建 container(三)
    文接containerd源码分析:创建container(二)1.2.2.2启动task上节介绍了创建task,task创建之后将返回response给ctr。接着,ctr调用task.Start启动容器。//containerd/client/task.gofunc(t*task)Start(ctxcontext.Context)error{ r,err:=t.client.TaskServi
  • 2024-06-04containerd 源码分析:创建 container(二)
    文接containerd源码分析:创建container(一)1.2.2创建容器进程创建container成功后,接着创建task,task将根据containermetadata创建容器进程。1.2.2.1创建task进入tasks.Newtask创建task://containerd/cmd/ctr/commands/tasks/tasks_unix.gofuncNewTask(ctxg
  • 2024-06-04containerd 源码分析:创建 container(一)
    0.前言Kubernetes:kubelet源码分析之pod创建流程介绍了kubelet创建pod的流程,containerd源码分析:kubelet和containerd交互介绍了kubelet通过cri接口和containerd交互的过程,containerd源码分析:启动注册流程介绍了containerd作为高级容器运行时的启动流
  • 2024-05-31ansible 部署 containerd
    准备工作创建数据目录#mkdir-pvfileshosts[ubuntu]172.168.174.106ansible_ssh_port=22ansible_ssh_user=roothostname=k8s-master-01下载软件包wgethttps://github.com/containerd/containerd/releases/download/v1.7.17/containerd-1.7.17-linux-amd64.tar.gzw
  • 2024-05-31ansible部署kubernetes(1.30)
    ansible部署kubernetes(1.30)操作系统使用的是ubuntu24.04,ansible使用rocky9.21.规划节点角色配置地址domainname备注master-012c,2g10.10.50.11k8s.master01.example.comnode-012c,10g10.10.50.14k8s.node01.example.comnode-022c,10g10.10.50.15k8s.node02.example.comn
  • 2024-05-31欧拉Openeuler安装k8s1.24.6
    一、环境[root@tax-k8s-work03~]#cat/etc/os-releaseNAME="HuaweiCloudEulerOS"VERSION="2.0(x86_64)"ID="hce"VERSION_ID="2.0"PRETTY_NAME="HuaweiCloudEulerOS2.0(x86_64)"ANSI_COLOR="0;31"[r
  • 2024-05-28docker containerd runc containerd-shim等组件的关系
    早期kubelet创建容器工作原理因为docker出生的比k8s早,所以k8s早期的容器运行时都是基于docker的,kubelet通过docker的api创建容器。后来,k8s官方不想绑死在docker这架马车上,就把容器运行时抽象出来,定义了一个接口,叫CRI(containerruntimeinterface),容器
  • 2024-05-28容器启动流程(containerd 和 runc)
    启动流程containerd作为一个api服务,提供了一系列的接口供外部调用,比如创建容器、删除容器、创建镜像、删除镜像等等。使用docker和ctr等工具,都是通过调用containerd的api来实现的。kubelet通过cri调用containerd和这些不一样,后续我会介绍到。containerd
  • 2024-05-22containerd 源码分析:kubelet 和 containerd 交互
    0.前言Kubernetes:kubelet源码分析之创建pod流程介绍了kubelet创建pod的流程,其中介绍了kubelet调用runtimecri接口创建pod。containerd源码分析:启动注册流程介绍了containerd作为一种行业标准的高级运行时的启动注册流程。那么,kubelet是怎么和containerd
  • 2024-05-21Containerd-chep3-运行思路
    本文致力于梳理containerd的架构与运行原理。参考文章:https://github.com/containerd/containerd/blob/main/core/runtime/v2/README.mdhttps://www.cnblogs.com/zhangmingcheng/p/17524721.html核心运行思路containerd使用Runtimev2并引入shimAPI,使得containerd可以和很
  • 2024-05-19containerd在线部署
    containerd的作用以及跟docker的区别Containerd是一个用于管理容器生命周期的开源项目。它最初是从Docker项目中分离出来的,现在已经成为了一个独立的项目。它可以用作容器镜像管理工具和容器运行时。它具有以下主要作用:帮助管理容器镜像。它可以下载,上传,删除容器镜像,并对镜像