k8s1.24.3搭建

说明:最新的1.24版本废弃了dockershim

这里我们使用containterd来管理容器镜像


我的系统环境(Ubuntu22.04这个太坑了,还是20.04好搭些)

源使用的是清华

root@master:~/k8s# cat /etc/apt/sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

环境准备:

root@master:~/k8s# ufw disabled

root@master:~/k8s#  cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

overlay

br_netfilter

EOF

root@master:~/k8s#  sudo modprobe overlay

root@master:~/k8s#  sudo modprobe br_netfilter

root@master:~/k8s#  cat 

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

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

net.ipv4.ip_forward                 = 1

EOF

root@master:~/k8s#  sudo sysctl --system

ok,现在开始安装containerd,直接apt-get install containerd 即可

root@master:~# ctr -v

ctr github.com/containerd/containerd 1.5.9-0ubuntu3

root@master:~# 

根据官网的说法:

Container Runtimes | Kubernetes

我们需要创建一个containerd的配置文件

root@master:~# mkdir -p /etc/containerd

root@master:~# containerd config default |  tee /etc/containerd/config.toml 

然后修改配置文件如下两处:

然后重启containerd即可

root@master:~# systemctl daemon-reload 

root@master:~# systemctl restart containerd 

我们的containerd的也是一个cs架构,服务端叫做containerd,客户端叫做ctr

但是ctr命令不怎么友好,对于从docker切换过来的人来说,我们可以看一下ctr的help就知道了

 这里我们推荐使用安装kubelet时候带的一个依赖工具,叫做cri-tools,这个可以跟docker比较好的对接(除了镜像制作)

ok,我们现在安装k8s相关组件

root@master:~# curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

root@master:~# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

EOF

root@master:~# apt-get update

root@master:~# apt-get install kubeadm kubelet kubectl 

这里我装的是1.24.3版本 比较新的

 开启自动补全功能

root@master:~# apt-get install bash-completion

root@master:~# source <(crictl completion bash )

root@master:~# source <(kubectl completion bash )

第一次使用crictl images会报错如下,是因为没有连接到我们的某个container runtime工具作为sock通信,这里我们使用的是containerd,因此要配置成这个

 接下来配置一下

先使用crictl config runtime-endpoint命令生成crictl的配置文件,然后去修改

root@master:~# crictl config runtime-endpoint

 接着使用images命令

 接着去修改containerd的配置文件

root@master:~# vim /etc/containerd/config.toml 

 重启containerd即可。

root@master:~# crictl images

IMAGE               TAG                 IMAGE ID            SIZE

root@master:~# 

然后就可以生成我们的集群init配置文件

 root@master:~/k8s# kubeadm config print init-defaults > init.yaml 

这里我就改如下几个地方,其他根据需求更改即可

 使用命令kubeadm init --config=init.yaml即可init集群。

init成功之后,搭建网络插件

Install Calico networking and network policy for on-premises deployments

 注意第二点即可,我们init的时候,指定的网段是10.96.0.0/12,所以calico.yaml如下修改,然后apply即可

 最终结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值