最好的网站建设机构百度认证营销推广师
- 作者: 五速梦信息网
- 时间: 2026年03月21日 04:59
当前位置: 首页 > news >正文
最好的网站建设机构,百度认证营销推广师,网站建设交流会,网站服务器租赁价格文章目录1. 开启节点维护1.1 将节点设置成不可调度1.2 驱逐节点上的 Pod1.3 停止相关服务2. 升级到 containerd2.1 安装 containerd2.2 调整 containerd 配置2.3 修改 kubelet 启动配置参数3. 重启节点服务4. 验证升级后的节点5. 容器管理工具5.1 容器管理命令行工具对比5.2 cr… 文章目录1. 开启节点维护1.1 将节点设置成不可调度1.2 驱逐节点上的 Pod1.3 停止相关服务2. 升级到 containerd2.1 安装 containerd2.2 调整 containerd 配置2.3 修改 kubelet 启动配置参数3. 重启节点服务4. 验证升级后的节点5. 容器管理工具5.1 容器管理命令行工具对比5.2 crictl 命令行工具安装6. 总结1. 开启节点维护 开启节点维护目的是将待维护节点上通过 Deployment 部署的 Pod 驱离该节点使其在另外的正常节点上运行从而保障服务的连续性。但是如果我们服务的实例个数是1时当服务被驱离时服务将会中断服务的连续性将无法得到保障需要等待服务在另外的节点上运行启动后服务才能恢复。所以生产环境为了不影响正常的业务运行最好能够将服务的实例数最小设置2个实例。 1.1 将节点设置成不可调度 kubectl cordon k8s-node1查看节点的状态是否被设置成了不可调度状态 如上图 k8s-node1 节点已经被设置成了不可调度状态。 1.2 驱逐节点上的 Pod kubectl drain k8s-node1 –ignore-daemonsets 执行完上述命令后k8s-node1 节点上除了 daemon set 启动的 Pod 外通过 deployment 启动的 Pod 都会被驱离到其他可调度的节点上重新启动。 通过将待升级的节点设置成维护模式从而保障业务服务能够在集群升级过程中正常的提供服务。 1.3 停止相关服务 systemctl stop kubelet systemctl stop containerd systemctl disable docker systemctl stop docker systemctl disable cri-docker systemctl stop cri-docker2. 升级到 containerd 2.1 安装 containerd 卸载 docker 相关功能 yum remove docker docker-client ocker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine docker-ce安装或升级 containerd 服务 yum install containerd2.2 调整 containerd 配置 导出默认配置 containerd config default /etc/containerd/config.toml编辑 /etc/containerd/config.toml 文件 sandbox_image registry.k8s.io/pause:3.6替换成sandbox_image registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6[plugins.io.containerd.grpc.v1.cri.containerd.runtimes.runc.options]SystemdCgroup false替换成[plugins.io.containerd.grpc.v1.cri.containerd.runtimes.runc.options]SystemdCgroup true添加国内镜像仓库这个非常关键否则将会导致镜像下载失败Pod中服务无法启动。 [plugins.io.containerd.grpc.v1.cri.registry]……[plugins.io.containerd.grpc.v1.cri.registry.mirrors]在containerd 配置文件中找到上边内容并在此处添加下边两行, 注意缩进下边两行内容与上边一行有2个空格的缩进下边两行内容之间也存在2个空格的缩进。[plugins.io.containerd.grpc.v1.cri.registry.mirrors.docker.io]endpoint [http://hub-mirror.c.163.com,https://docker.mirrors.ustc.edu.cn,https://registry.docker-cn.com]2.3 修改 kubelet 启动配置参数 在 kubelet 启动文件中添加或修改下边两个变量的参数值 –container-runtimeremote –container-runtime-endpointunix:///run/containerd/containerd.sock3. 重启节点服务 重启 containerd 服务 systemctl daemon-reload systemctl enable containerd systemctl start containerd查看 containerd 服务启动状态 systemctl status containerd重新启动 kubelet systemctl start kubelet查看 kubelet 服务状态 systemctl status kubelet取消节点维护状态 kubectl uncordon k8s-node1查看节点信息 kubectl get nodes -o wide如上图中 k8s-node1 节点已经变成 Ready 状态并且 CONTAINER-RUNTIME 已经变成了 containerd://1.6.18。表示 k8s-node1 节点已经从 docker 容器切换成 containerd 容器。
- 验证升级后的节点 如果 calico-node 采用 daemon set 的方式部署那么当k8s节点升级 containerd 容器运行时后重启 containerd 和 kubelet 之后calico-node 将会在升级后的节点上重新运行可通过查看升级后节点是否成功启动 calico-node 的Pod来判断节点是否升级成功。 如上图所示k8s-node1 节点上的 calico cni Pod 正在自动部署。如下图所示k8s-node1 节点上的 calico-node Pod已经成功运行起来。 5. 容器管理工具 5.1 容器管理命令行工具对比 功能dockerctrcrictl查看容器列表docker psctr -n k8s.io c lscrictl ps容器内执行命令docker exec-crictl exec挂载容器docker attach-crictl attach拉取镜像docker pullctr -n k8s.io i pullcrictl pull推送镜像docker pushctr -n k8s.io i push-删除镜像docker rmi-crictl rmi使用 containerd 替代 docker 作为 k8s 的容器运行时之后docker 命令行工具需要通过 ctr 或 crictl 来替换。ctr 是 containerd 提供的容器管理命令行工具但是 ctr 相较于 crictl 功能相对较弱所以当 docker 切换到 containerd 之后建议使用 crictl 命令行工具来管理容器使用 crictl 命令行工具需要另行安装。 containerd 存储 k8s 相关的数据在 k8s.io 空间中默认情况下使用 ctr 操作的是 default 空间的数据。所以如果想要在 k8s 中使用 containerd default 空间的数据可以将 default 空间中的镜像导出然后导入到 k8s.io 空间。 导出 default 空间中的镜像例如导出 calico cni 镜像 ctr -n default images export –platformlinux/amd64 cni.tar.gz docker.io/calico/cni:v3.24.5导入 calico cni 镜像到 k8s.io 空间 ctr -n k8s.io i import cni.tar.gz5.2 crictl 命令行工具安装 crictl 源码地址 https://github.com/kubernetes-sigs/cri-tools/releases下载 Linux x64 版本工具 wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz解压并安装 tar -zxvf crictl-v1.26.0-linux-amd64.tar.gz -C /usr/local/bin配置crictl参数 crictl config runtime-endpoint unix:///run/containerd/containerd.sock crictl config image-endpoint unix:///run/containerd/containerd.sock将会生成 /etc/crictl.yaml 配置文件。到此 crictl 命令行工具安装完成以前通过 docker 命令操作的指令后续可以使用 crictl 执行。
- 总结 将 docker 容器运行时替换成 containerd 时可以逐个节点进行替换这样能够保证服务的连续性。使用 containerd 替换 docker 后对于 k8s 1.20 以后的版本不再需要 cri-docker 服务对 docker 容器运行时进行中转。k8s 集群相关组件只需要修改 kubelet 启动参数不需要调整 kube-apiserverkube-schedulerkube-controller-managerkube-proxy等组件。
- 上一篇: 最好的网站建设公司有哪些石家庄网页设计公司
- 下一篇: 最好的网站建设网站建设公司推荐理由
相关文章
-
最好的网站建设公司有哪些石家庄网页设计公司
最好的网站建设公司有哪些石家庄网页设计公司
- 技术栈
- 2026年03月21日
-
最好的网站管理系统新项目开发流程
最好的网站管理系统新项目开发流程
- 技术栈
- 2026年03月21日
-
最好的设计师平台网站丹阳网站制作
最好的设计师平台网站丹阳网站制作
- 技术栈
- 2026年03月21日
-
最好的网站建设网站建设公司推荐理由
最好的网站建设网站建设公司推荐理由
- 技术栈
- 2026年03月21日
-
最好的网站开发公司电话开发公司副总求职简历
最好的网站开发公司电话开发公司副总求职简历
- 技术栈
- 2026年03月21日
-
最好的网站模版做平面设计哪个网站下载素材好
最好的网站模版做平面设计哪个网站下载素材好
- 技术栈
- 2026年03月21日



