ubuntu22.04安装kubernetes1.26 k8s1.26 (使用containerd)

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情


前言

本篇来讲解如何在ubuntu20.4下使用kubeadm安装部署k8s 1.26集群,并使用containerd。


一、基础环境

准备1台虚拟机(别惊慌,后面会教你克隆的)。

主机IP 配置
192.168.2.5 master节点,能连外网,ubuntu 20.04版本,至少2核CPU,2G内存

安装基础软件例如vim、wget、netstat,curl,方便修改ymal,查看端口,排查错误等等。
设置root用户。
还有就是换源!!!!更换国内镜像源方法

二、开始

1.关闭防火墙

root@master:~# ufw status					#ufw查看当前的防火墙状态:inactive状态是防火墙关闭状态 active是开启状态。
root@master:~# ufw enable | disable	        #启动、关闭防火墙

2.禁用SELINUX

setenforce 0
vim /etc/selinux/config
SELINUX=disabled

3禁用所有swap交换分区

注:最好是安装虚拟机时就不要创建swap交换分区

root@master:~#  swapoff -a							#禁用所有swap交换分区
root@master:~#  free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        280M        1.2G        9.6M        286M        1.4G
Swap:            0B          0B          0B
root@master:~#  vim /etc/fstab			#永久禁用swap,删除或注释掉/etc/fstab里的swap设备的挂载命令即可
#/swap.img      none    swap    sw      0       0

4设置主机名

cat >> /etc/hosts <<EOF
192.168.2.5 K8Smaster
EOF

后续克隆之后在执行

cat >> /etc/hosts <<EOF
192.168.2.6 K8sNode1  #在第二台虚拟机执行
192.168.2.7 K8sNode2  #在第三台虚拟机执行
EOF

注:如果提前配置了3台虚拟机需要同步时间否则会出error

root@master:~# date										#查看时区,时间
root@master:~# timedatectl set-timezone Asia/Shanghai	#先查看时区是否正常,不正确则替换为上海时区
root@master:~# yum -y install ntp	 					#安装ntp服务
root@master:~# systemctl start ntp						#开始ntpd服务,或者做定时任务如:*/5 * * * * /usr/sbin/ntpdate -u 192.168.2.5
root@master:~# systemctl enable ntp

5创建配置文件

创建/etc/modules-load.d/containerd.conf配置文件:

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

执行以下命令使配置生效:

modprobe overlay
modprobe br_netfilter

创建/etc/sysctl.d/99-kubernetes-cri.conf配置文件:

cat << EOF > /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
user.max_user_namespaces=28633
EOF

执行以下命令使配置生效:

sysctl -p /etc/sysctl.d/99-kubernetes-cri.conf

6配置服务器支持开启ipvs的前提条件

kube-proxy开启ipvs的前提需要加载以下的内核模块:

ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4

那么执行脚本

cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

上面脚本创建了的/etc/sysconfig/modules/ipvs.modules文件,保证在节点重启后能自动加载所需模块。 使用lsmod | grep -e ip_vs -e nf_conntrack_ipv4命令查看是否已经正确加载所需的内核模块。

接下来还需要确保各个节点上已经安装了ipset软件包,为了便于查看ipvs的代理规则,最好安装一下管理工具ipvsadm。
如果不满足以上前提条件,则即使kube-proxy的配置开启了ipvs模式,也会退回到iptables模式。

三、使用kubeadm安装k8s 1.26.0

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具,这个工具能通过两条指令完成一个kubernetes集群的部署。

1、创建一个master节点,kubeadm init。
2、将node节点加入kubernetes集群,kubeadm join <master_IP:port >

我当然是用yaml啦!kubeadm init --config kubeadm.yaml 一键三连!

1、安装containerd

(在所有节点服务器上都执行,因为k8s 1.24版本默认CRI为containerd,cri称之为容器运行时插件)
containerd的官网
containerd官网安装教程,官网安装文档提供了源码包安装和普通的yum、apt-get安装,这里使用源码包安装。
下载Containerd的二进制包:

#安装containerd
wget https://github.com/containerd/containerd/releases/download/v1.6.14/containerd-1.6.14-linux-amd64.tar.gz #巨慢!建议浏览器下载,然后CP到/usr/local 然后执行解压
tar Cxzvf /usr/local containerd-1.6.8-linux-amd64.tar.gz	#解压到/usr/local/bin目录下了
bin/														#解压到/usr/local/bin目录下了
bin/containerd-shim-runc-v2									#这6个可执行文件就是解压出来的containerd相关命令
bin/containerd-shim
bin/ctr
bin/containerd-shim-runc-v1
bin/containerd
bin/containerd-stress

#使用systemcd来管理containerd
wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service 
mv containerd.service  /usr/lib/systemd/system/
systemctl daemon-reload && systemctl enable --now containerd 
systemctl  status containerd		               #containerd已经是running状态了


#安装runc
#runc是容器运行时,runc实现了容器的init,run,create,ps...我们在运行容器所需要的cmd:
curl -LO https://github.com/opencontainers/runc/releases/download/v1.1.4/runc.amd64 && \
install -m 755 runc.amd64 /usr/local/sbin/runc

修改containerd的配置,因为containerd默认从k8s官网拉取镜像

mkdir -p /etc/containerd				#创建一个目录用于存放containerd的配置文件
containerd config default | sudo tee /etc/containerd/config.toml	#把containerd配置导出到文件
vim /etc/containerd/config.toml			#修改配置文件
[plugins."io.containerd.grpc.v1.cri"]
..................................
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"	 #搜索sandbox_image,把原来的k8s.gcr.io/pause:3.6改为"registry.aliyuncs.com/google_container
Ubuntu 22.04 安装 Kubernetes 1.26 本文是基于 阿里云服务器 ubuntu 22.04,一个控制节点 两个子节点,网络组件为 calico,容器为 containerdk8s 搭建方案 阅读详情

相关推荐

Ubuntu22.04部署K8s集群

K8s集群 —— Win11 + VM Ware17.0 + Ubuntu 22.04 + K8s 1.27 + docker 24.0 + cri-docker 0.3.4.3 + flannel

夜半一碗凉泡面的博客 4197

ubuntu 22.04 TLS安装k8s 1.26.3-00

检查一下拉下来的pause镜像的版本,确保和 /etc/containerd/config.toml 里面sandbox_image的版本一致。如果ubuntu无法访问github,安装可能失败,解决方法如下,打开windows cmd,ping gitbub.com。执行完kubeadm init命令成功后,会有加入集群命令输出,如果忘记了,执行如下命令即可。如果后续有机器加入,先执行所有节点都操作的命令后,再加入集群即可。说明:只在master节点(node01)操作即可,如有需要,所有节点都操作。

weixin_40548182的博客 1041

k8s笔记28--快速在ubuntu上基于二进制和源码安装containerd

Containerd是一个工业标准的容器运行时,它强调简单、健壮和可移植性。它可作为Linux和Windows的守护进程,能管理主机系统上完整容器生命周期: 镜像传输和存储、容器执行和管理、容器底层存储和网络等。它是CNCF下“毕业”的项目,旨在嵌入到更大的系统中,而不是由开发人员或最终用户直接使用。作为IT行业的人员最熟悉的容器产品大多是docker,可是docker较新的版本底层也在使用containerd来管理容器;

脚步不能达到的地方,眼光可以达到;眼光不能达到的地方,精神可以飞到 2222

国内环境下ubuntu22.04+kubeadm搭建v1.27.2多节点k8s集群

ubuntu 22.04使用最新版本的kubeadm 搭建最新版本v1.27.2的k8s集群环境。

6960

Ubuntu22.04搭建k8s集群,看这一篇就够啦!

本文适合k8s初学者,跟着文章步骤走即可,一般不会出错。

m0_43445928的博客 6638

Kubernetes1.26.0部署(Ubuntu/CentOS)

v1.24.0 - v1.26.0 之前支持docker,但是需要额外安装cri-docker来充当垫片截至作者更新目前v1.26.0暂时不支持docker方式,因此本次采用containerd由于工作原因作者会同时使用Ubuntu和CentOS,因此本次将两个系统的K8S安装一起记录一下使用kubeadm部署3主2从高可用集群etcd采用二进制部署,复用3个管理节点本次部署无vip,采用nginx做负载均衡理想拓扑图如下。

weixin_67405599的博客 7675

ubuntu22.04安装kubernetes1.26使用containerd

--- |### 开启IPv4转发| ```overlayEOFEOF| — |

mingqing的博客 3024

Ubuntu 22.03 系统 kubernetes 1.26.3 详细安装

本文详细记录了在Ubuntu 22.04系统上部署Kubernetes集群的完整过程。主要内容包括: 环境准备 配置master节点(192.168.119.233)和worker节点(192.168.119.234) 更新apt源和系统软件包 禁用swap和selinux 调整内核参数 安装容器运行时 安装Docker并配置镜像源 修改containerd配置文件 安装Kubernetes组件 添加阿里云K8s安装kubelet/kubeadm/kubectl(1.26.1版本) 下载所需镜像 初始化

2401_83150173的博客 243

KubeKey实战:用一条命令在Ubuntu 22.04上部署KubeSphere 3.4 + K8s 1.26

本文详细介绍了如何使用KubeKey在Ubuntu 22.04上快速部署KubeSphere 3.4和Kubernetes 1.26单机版环境。通过一条命令即可完成复杂配置,大幅简化云原生平台的搭建流程,特别适合开发者快速构建实验环境。文章涵盖环境准备、部署命令、性能调优及常见问题解决方案,助您轻松玩转K8S生态。

jump7的博客 189

Kubernetes部署篇:基于Ubuntu 22.04+X86_64架构+containerd一键离线部署容器版K8S1.26.15高可用集群》

Kubernetes部署篇:基于Ubuntu 22.04+X86_64架构+containerd一键离线部署容器版K8S1.26.15高可用集群》

东城绝神 1458

Kubernetes部署篇:基于基于Ubuntu 22.04+x86_64架构CPU使用containerd部署K8S 1.33.3容器版集群(多主多从)

Kubernetes部署篇:基于基于Ubuntu 22.04+x86_64架构CPU使用containerd部署K8S 1.33.3容器版集群(多主多从)

东城绝神 1385

Kubernetes部署篇:基于Ubuntu 22.04+x86_64架构CPU使用containerd部署K8S 1.33.3容器板集群(一主多从)

Kubernetes部署篇:基于Ubuntu 22.04+x86_64架构CPU使用containerd部署K8S 1.33.3容器板集群(一主多从)

东城绝神 1130

Ubuntu22安装K8S实战

现在k8s基本上是每一个后端开发人员必学的技术了,为了能够花费最小的成本学习k8s技术,我用自己的电脑跑了三个虚拟机节点,并希望在这三个节点上安装k8s 1.26版本,部署成一个master两个node的架构来满足最基本的学习;下面我们就来逐步讲解整个安装过程。

codemaster1024的博客 2443

Kubernetes(k8s) 1.26.3 安装教程(Ubuntu 22.04.1

手把手教学如何在ubuntu安装k8s,经过本人实际操作,验证流程可行。

tonkei0361的博客 1829

K8S集群运维指南》

K8S集群运维指南》

东城绝神 8102

Kubernetes部署篇:Ubuntu20.04基于containerd二进制部署K8S 1.25.14集群(多主多从)

Kubernetes部署篇:Ubuntu20.04基于containerd二进制部署K8S 1.25.14集群(多主多从)

东城绝神 1846

Ubuntu 22.04下用containerd替代Docker部署K8S 1.28集群的完整避坑指南

本文是一份在Ubuntu 22.04系统上,使用containerd替代Docker作为容器运行时,部署Kubernetes 1.28生产级集群的完整实践指南。文章详细阐述了从Docker迁移至containerd的必要性,并提供了从系统调优、containerd配置、K8S集群初始化到网络插件部署及故障排查的全流程避坑实操,旨在帮助用户构建更轻量、高效且稳定的容器化环境。

weixin_29199873的博客 356

Ubuntu22.04基于Calico+Containerd部署v1.28.2

以下是。

Q22004399的博客 1224

Kubernetes源码编译安装实战:Ubuntu 24.04k8s编译安装最佳实践

Kubernetes源码编译是深入理解容器编排系统底层机制的核心路径,其本质是掌握Go语言构建体系、cgroup v2运行时约束与组件级定制能力的技术过程。原理上需打通从git checkout、CGO交叉编译、Bazel/Make构建到二进制签名验证的全链路;技术价值在于实现可控部署(如FIPS合规)、可溯调试(精准定位PR变更)与可嵌入扩展(自定义API端点);典型应用场景覆盖信创国产化适配(鲲鹏/飞腾平台)、金融级等保加固及CKS认证深度备考。本文聚焦Ubuntu 24.04这一关键发行版,直面cgr

weixin_34203832的博客 397
上一篇: sourcetree(mac)设置代理链接GitHub
wanghui2087
博客等级 码龄10年 5粉丝 2原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值