containerd加入k8s集群

1、关闭selinux&firewalld

systemctl stop firewalld && systemctl disable firewalld

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config


2、关闭swap

swapoff -a

sed -i 's/^[^#].*swap*/#&/g' /etc/fstab


3、安装依赖及常用工具

yum install -y yum-utils device-mapper-persistent-data lvm2 wget vim yum-utils net-tools epel-release

添加加载的内核模块

cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf

overlay

br_netfilter

EOF


4、加载内核模块

modprobe overlay

modprobe br_netfilter


5、设置内核参数

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf

net.bridge.bridge-nf-call-iptables  = 1

net.ipv4.ip_forward                = 1

net.bridge.bridge-nf-call-ip6tables = 1

EOF


6、应用内核参数

sysctl --system


7、添加docker源

cat <<EOF | sudo tee /etc/yum.repos.d/docker-ce.repo

[docker]

name=docker-ce

baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/

enabled=1

gpgcheck=1

gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

EOF


8、安装containerd

yum -y update && yum -y install containerd.io

# 指定版本使用containerd.io-x.x.x

# 需要升级系统则yum -y update


9、配置containerd

mkdir -p /etc/containerd

containerd config default | sudo tee /etc/containerd/config.toml

(1)修改cgroup Driver为systemd

在配置文件中如下位置添加SystemdCgroup = true


(2)镜像加速

endpoint位置添加阿里云的镜像源

$ vim /etc/containerd/config.toml

    [plugins."io.containerd.grpc.v1.cri".registry]

      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]

          endpoint = ["https://xxxxxxxx.mirror.aliyuncs.com"]


(3)更改sandbox_image

$ vim /etc/containerd/config.toml

...

  [plugins."io.containerd.grpc.v1.cri"]

    disable_tcp_service = true

    stream_server_address = "127.0.0.1"

    stream_server_port = "0"

    stream_idle_timeout = "4h0m0s"

    enable_selinux = false

    selinux_category_range = 1024

# 将这里改为aliyun的镜像源

    sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.4.1"



10、启动服务

systemctl enable containerd && systemctl start containerd


11、(可选)如果你的环境中网络代理去访问外网,containerd也需要单独添加代理

mkdir /etc/systemd/system/containerd.service.d

cat > /etc/systemd/system/containerd.service.d/http_proxy.conf << EOF

[Service]

Environment="HTTP_PROXY=http://<proxy_ip>:<proxy_port>/"

Environment="HTTPS_PROXY=http://<proxy_ip>:<proxy_port>/"

Environment="NO_PROXY=x.x.x.x,x.x.x.x"

EOF


12、加载配置并重启服务

systemctl daemon-reload && systemctl restart containerd


13、下载镜像检测containerd是否正常

ctr images pull docker.io/library/nginx:alpine

ctr是containerd自带的命令行客户端


14、添加kubernetes 源

cat > /etc/yum.repos.d/kubernetes.repo << EOF

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF


15、安装kubeadm,kubelet和kubectl

yum install -y kubelet-1.21.0 kubeadm-1.21.0 kubectl-1.21.0

systemctl enable kubelet


16、设置crictl

使用除docke以外的CRI时,需要使用crictl来进行镜像管理,相当于docker-cli

Containerd 只支持通过 CRI 拉取镜像的 mirror,也就是说,只有通过 crictl 或者 Kubernetes 调用时 mirror 才会生效,通过 ctr 拉取是不会生效的。crictl是k8s内部的镜像管理命令。

cat << EOF >> /etc/crictl.yaml

runtime-endpoint: unix:///var/run/containerd/containerd.sock

image-endpoint: unix:///var/run/containerd/containerd.sock

timeout: 10

debug: false

EOF


17、下载镜像

crictl pull nginx:latest

crictl基本上与docker用法一致



18、对接kubelet

vi /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS=--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --cgroup-driver=systemd


19、master需要重新创建token,可以直接使用命令快捷生成:

kubeadm token create --print-join-command

生成的命令在worknode上执行加入集群

若创建镜像超时,可手工拉取kube-proxy、core-dns、pause


20、master 节点再次执行kubectl apply -f calico.yaml,使worknode节点部署calico网络组建。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容