首页 > 其他分享 >k8s将节点容器运行时从Docker迁移到Containerd

k8s将节点容器运行时从Docker迁移到Containerd

时间:2022-10-26 09:47:19浏览次数:85  
标签:etc Containerd kubelet systemctl containerd Docker k8s docker

1.执行drain操作

kubectl drain k8s-node01 --ignore-daemonsets  #

2.对应节点上关闭docker

#注意,是要迁移的节点
systemctl stop kubelet
systemctl stop docker.socket
systemctl stop docker 

3.安装、配置 Containerd

yum install  containerd.io cri-tools  -y  #就是docker的yum源
mkdir -p /etc/containerd
crictl config runtime-endpoint unix:///var/run/containerd/containerd.sock 
containerd config default         #生成默认配置文件


vim /etc/containerd/config.toml
61 sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.7"  #修改镜像下载地址
125 SystemdCgroup = true  #使用systemdcgroup驱动  参考文档:https://kubernetes.io/zh-cn/docs/setup/production-environment/container-runtimes/
153	[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
添加
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]  #设置镜像加速
    endpoint = ["https://j7ih9k5f.mirror.aliyuncs.com"]

4.加载模块及修改参数(转发IPv4并让iptables看到桥接流量)

cat << EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

modprobe overlay
modprobe br_netfilter
lsmod | egrep 'overlay|br_netfilter'

#docker版本以下配置应该已经存在,确认后操作 cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF sysctl -p /etc/sysctl.d/k8s.conf
systemctl enable containerd ; systemctl restart containerd systemctl status containerd

5.修改kubelet配置

cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=unix:///run/containerd/containerd.sock"   #设置kubelet使用系统套接字 ,参考文档:https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kubelet/
systemctl restart kubelet
systemctl status kubelet
root@k8s-master manifests]# kubectl get node -o wide|grep k8s-node01 #检查节点
k8s-node01 Ready <none> 41h v1.20.11 192.168.1.132 <none> CentOS Linux 7 (Core) 6.0.2-1.el7.elrepo.x86_64 containerd://1.6.8 

6.执行uncordon操作

kubectl uncordon k8s-node01  #剩余节点依次操作即可

7.删除docker

 yum remove docker-ce docker-ce-cli

  

  

标签:etc,Containerd,kubelet,systemctl,containerd,Docker,k8s,docker
From: https://www.cnblogs.com/panwenbin-logs/p/16827195.html

相关文章

  • 【图文安装教程】在docker中安装ES
    在docker中安装ES怎么安装?本文就教大家怎么安装1.部署单点es1.1.创建网络因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:docker net......
  • 【2022.10.25】尝试自写一个Dockerfile
    前言用了别人这么多的docker,因为mirai的旧版本登不上了这次要自写一个docker了因为mirai运行在openjdk环境下运行,所以首先最开始的内容便是FROMopenjdk:17-slim-buster......
  • 《将博客搬至CSDN》Docker中浏览器访问内网,并解决无中文字体问题
    需求说明在自己的本地服务器中部署了很多应用,使用内网穿透访问,但能够使用的端口有限,一个一个映射也不实际,所以想到使用docker部署一个firefox浏览器来访问内网的网页。......
  • 【squid】使用docker搭建代理服务器
    1、官网官网http://www.squid-cache.org/linux 2、代理服务器正向代理:客户端(内网)--->squid---->服务器centos反向代理:服务器--->squid---->客户端(内网) 3、dockerh......
  • docker 私人仓库 用户认证
    1、删除原启动的dockerregistry容器#dockerstopregistry#dockerrmregistry2、创建存储用户密码的文件mkdir/opt/application/registry/auth//可自定义yum......
  • Docker容器监控之CAdvisor+InfluxDB+Granfana(CIG)
    docker自带命令dockerstats通过dockerstats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据。但是,dockerstats统计结果只能是当前宿主机的......
  • K8s nodePort、port、targetPort、hostPort
    转载:https://blog.csdn.net/chainsmoker_/article/details/1244498901.nodePort外部流量访问k8s集群中service入口的一种方式(另一种方式是LoadBalancer),即nodeIP:nodeP......
  • k8s-标签(labels)
    官网https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/labels/标签(Labels)是附加到Kubernetes对象(比如Pod)上的键值对。标签旨在用于指定......
  • docker swarm快速部署redis分布式集群
    环境准备四台虚拟机192.168.2.38(管理节点)192.168.2.81(工作节点)192.168.2.100(工作节点)192.168.2.102(工作节点)时间同步每台机器都执行yuminstall-yntpcat<<EO......
  • k8s的安装8
    k8s的安装8我们这次的k8s是yum装的,yum安装的k8s的版本是多少?rpm-qa|grepkubernetes查看版本,如下图所示因为红帽只做了1.5版本的k8s包,所以yum只能装1.5版,虽然这种yum......