当前位置: 首页 > news >正文

ubuntu2026.04部署k8s1.36版本的傻瓜式教程(注:运行时为docker,网络插件为calico)

文章目录

    • 环境
      • 操作步骤
          • 修改主机名
      • 三台主机同时操作
          • 配置阿里云yum源
          • 配置host域名解析
          • 关闭swap
          • 加载内核模块并开启网络转发
          • 安装docker
          • 安装docker-cri
          • 安装k8s组件
      • master01(192.168.10.12)操作
          • k8s群集初始化
      • node节点(192.168.10.13/14)操作
          • node节点加入k8s群集
      • master01(192.168.10.12)操作
          • 安装calico网络插件
    • 常见报错
          • 镜像地址拒接连接
          • 镜像路径冲突
          • kube-proxy起不来
    • 总结

环境

Ip主机名cpu内存
192.168.10.12master012c6G
192.168.10.13node12c6G
192.168.10.14node22c6G
组件版本
UbuntuUbuntu 26.04 server
Docker29.1.3
Kubernetesv1.36.1

本文采用
Docker作为容器运行时
cri-dockerd适配Kubernetes CRI接口
Calico作为CNI网络插件
kubeadm方式部署

注:本文绝大部分都不需要科学上网,只有部分需要从github上面拉文件。
99%的操作直接复制就行,命令都是测试过的。除了k8s初始化的token需要看自己的

操作步骤

修改主机名

master01(192.168.10.12)操作

hostnamectlset-hostnamemaster01

node01(192.168.10.13)操作

hostnamectlset-hostnamenode01

node02(192.168.10.14)操作

hostnamectlset-hostnamende02

三台主机同时操作

配置阿里云yum源
sudocp/etc/apt/sources.list/etc/apt/sources.list.backuptee/etc/apt/sources.list <<'EOF'deb https://mirrors.aliyun.com/ubuntu/ resolute main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ resolute-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ resolute-backports main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ resolute-security main restricted universe multiverse EOF apt update
配置host域名解析
cat>>/etc/hosts << EOF 10.54.149.12 master01 10.54.149.13 node01 10.54.149.14 node02 EOF
cat/etc/hosts

关闭swap
swapoff-a sed-i'/swap/s/^/#/'/etc/fstab free-h

加载内核模块并开启网络转发
cat<<EOF|sudotee/etc/modules-load.d/k8s.conf overlay br_netfilter EOF sudo modprobe overlay sudo modprobe br_netfiltercat<<EOF|sudotee/etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF sudo sysctl--system
安装docker
sudo apt install docker.io util-linux-extra-y sudo systemctlstartdocker sudo systemctl enable docker docker--version

sudotee/etc/docker/daemon.json <<-'EOF'{"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{"max-size":"100m","max-file":"3"},"storage-driver":"overlay2"}EOF sudo systemctl daemon-reload sudo systemctl restart docker
安装docker-cri
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.4.3/cri-dockerd_0.4.3.3-0.debian-bookworm_amd64.deb apt install./cri-dockerd_0.4.3.3-0.debian-bookworm_amd64.deb-y systemctl enable--now cri-docker.service sudo sed-i's|^ExecStart=.*|ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.10.2|'/usr/lib/systemd/system/cri-docker.service sudo systemctl daemon-reload sudo systemctl restart cri-docker

install的时候会有一个告警,不用管

安装k8s组件
mkdir-p/etc/apt/keyrings curl-fsSL https://pkgs.k8s.io/core:/stable:/v1.36/deb/Release.key|\ gpg--dearmor-o/etc/apt/keyrings/kubernetes-apt-keyring.gpgecho"deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.36/deb/ /"|\tee/etc/apt/sources.list.d/kubernetes.list apt update apt install-y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl kubeadm version kubectl version--client kubelet--version

master01(192.168.10.12)操作

k8s群集初始化
kubeadm init \--apiserver-advertise-address=192.168.10.12 \--image-repository=registry.aliyuncs.com/google_containers \--kubernetes-version=v1.36.1 \--pod-network-cidr=172.16.0.0/16 \--cri-socket=unix:///var/run/cri-dockerd.sock

mkdir-p$HOME/.kube sudocp-i/etc/kubernetes/admin.conf$HOME/.kube/config sudo chown $(id-u):$(id-g)$HOME/.kube/config

node节点(192.168.10.13/14)操作

node节点加入k8s群集

token要跟k8s群集初始化的输出结果一样,不要复制我这个

kubeadm join 192.168.10.12:6443--token 16vftw.lnioqd010c3n7tjn \--discovery-token-ca-cert-hash sha256:ded58b64444094269951ce0f1cadc917b8e808accb1b16e3c0b1d6126419b3bf \--cri-socket=unix:///run/cri-dockerd.sock

验证

kubectl get nodes

NotReady是因为还没安装网络插件

kubectl get pod-A

coredns需要安装calico后才会running

master01(192.168.10.12)操作

安装calico网络插件

下载yaml文件并替换成国内镜像地址

wget https://raw.githubusercontent.com/projectcalico/calico/v3.30.3/manifests/calico.yaml sed-i's#docker.io/#docker.m.daocloud.io/#g'calico.yaml grep"image:"calico.yaml

kubectl apply-f calico.yaml kubectl get pod-A

等待5分钟左右

到这里k8s群集就搭建完了

常见报错

镜像地址拒接连接

这个报错是因为连不到docker官方镜像,需要转到阿里云镜像

镜像路径冲突

这个报错是因为地址冲突,需要改cri-dockerd 的系统服务配置文件的路径

kube-proxy起不来

kube-proxy没起来是因为pod所在node节点没有改cri-dockerd 的系统服务配置文件的路径

报错后重置配置命令

sudo kubeadm reset--cri-socket=unix:///run/cri-dockerd.sock--force sudorm-rf/etc/kubernetes//var/lib/kubelet/var/lib/etcd/etc/cni/net.d

总结

现在是北京时间2026/5/23 4:01,博主有点嘎了
如果对你有帮助,就点个关注吧,你的每一个关注都是博主在面试中吹牛的底气

本来没想继续写博客的,感觉ai已经够发达了,博客也没啥存在的必要了,最近也快离职了,想着复习下基础,部署一个最新版的k8s,查了查网上还没有文档,就寻思用ai辅助着部署,结果快给我气笑了,deepseek说ubuntu26.04还没发布,gpt5胡言乱语,最后历经千辛万苦部署完了之后想了想还是写篇博客出来吧。

博客中很多命令原来都有注释方便理解,后面就全删了,一是一个部署也不需要太注意每条命令的作用,二是看博客的估计也不在意注释,都是直接复制粘贴(本人就是),三是这玩意直接问ai就行。写在博客里就有些冗余了。

如果部署中还有其他问题评论即可。

http://www.jsqmd.com/news/881027/

相关文章:

  • 一文讲清楚规则、Skill、MCP
  • 2026泛塞封密封圈优质品牌推荐:聚四氟乙烯密封圈/铁氟龙密封圈/高分子材料密封圈/O型圈/PEEK密封圈/PU密封圈/选择指南 - 优质品牌商家
  • 别再让Ubuntu卡成PPT!手把手教你用swapfile把交换空间从1G扩容到64G(附权限修复)
  • 【iOS】底层原理:理解dyld
  • 告别虚拟机!手把手教你用U盘给新电脑装Win11+统信UOS 1060双系统(保姆级分区教程)
  • Win10开机WiFi列表全空?先别慌,按这个‘服务状态排查流程图’走一遍
  • 2026靠谱仪器推荐:Trim200离子束刻蚀机、Essent Optics分光光度计、LINZA分光光度计、LensCheck MTF传函仪选择指南 - 优质品牌商家
  • 告别下载量低迷,5套实操方法打通用户增长
  • MacBook新手福音:用Final Cut Pro 10.6.5搞定你的第一门视频课(附保姆级设置与导出指南)
  • 2026年知名的大豆定量包装机/饲料定量包装机厂家哪家好 - 行业平台推荐
  • 从零开始手把手教你用Python和XFLR5估算小型固定翼无人机的升力系数(附代码)
  • 2026北京搬家公司优质推荐指南:北京公司搬家公司/北京收纳整理公司/北京日式搬家公司/北京本地搬家/北京企业搬家/选择指南 - 优质品牌商家
  • 【程序源代码】答题微信小程序(含源码)
  • Cocos Creator 3.x 实战:用 BoxCollider 和 CircleCollider 快速搞定一个2D平台跳跃游戏的碰撞检测
  • 避坑指南:在openEuler 22.03上配置vsftpd虚拟用户,解决gdbmtool替代db_load的认证问题
  • 2026智能人工气候室应用白皮书:低温型人工气候室/保鲜库/催芽室/全天候智能人工气候室/养虫室/冷冻库/医药冷库/选择指南 - 优质品牌商家
  • 别再为立体匹配发愁了!手把手教你用Fusiello法搞定双目相机极线校正(附Python代码)
  • 2026年黄金回收商家深度解析:宝奢科技等头部企业如何选择 - 2026年企业推荐榜
  • 别再只认ldd了!盘点5种查看Linux程序动态库依赖的方法(含静态/交叉编译场景)
  • Unity新手村:用Terrain工具5分钟搭出你的第一个3D场景(含环境包导入)
  • 昇腾NPU强化学习训练实战——从PPO到GRPO的完整落地
  • 别再手动调阴影了!Godot 4.0 2D光照系统保姆级配置指南(含法线/高光贴图实战)
  • 企业官网后台的工程化设计:内容建模、所见即所得与源码自主可控
  • 抗功耗侧信道攻击的逻辑综合框架PoSyn解析
  • 规避管理执行漏洞,前沿定位技术助力行业安全提质——基于视频孪生无感定位的矿山管理漏洞根治与安全升级技术方案
  • Bi-LSTM vs CNN-BiLSTM:实战对比哪个模型更适合你的时间序列预测任务?
  • GRACE水储量研究避坑指南:手把手教你处理CSR、JPL、GSFC mascon数据常见问题
  • 2026专业音响设备应用白皮书文体场馆选型剖析:ZOBO音响、舞台音响、Montarbo音响、Nettuno音响选择指南 - 优质品牌商家
  • 告别.bash_profile:在macOS Ventura/Sonoma上为Maven配置环境变量的几种新方法(含Zsh教程)
  • 解锁UE5.1增强输入高级玩法:用自定义Input Modifier实现游戏摇杆灵敏度曲线与高级死区