当前位置: 首页 > 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.rkmt.cn/news/1374072.html

相关文章:

  • DFT笔记59
  • 高通骁龙处理器深度解码:从移动通信霸主到全场景智能计算引擎
  • 告别SSH断连焦虑:手把手教你用Screen在Linux后台挂起任务(含源码编译避坑)
  • Win7专业版电脑重启后时间服务总停止?三步设置让它稳定运行(附命令详解)
  • 鸿蒙数理体系创作说明 (鸿蒙数学一阶完结后更新说明)
  • 在CentOS7服务器上装Win10?手把手教你用Ventoy搞定双系统(附网卡驱动安装避坑指南)
  • 2026年知名的大豆定量包装机/饲料定量包装机厂家哪家好 - 行业平台推荐
  • 2026靠谱仪器推荐:Trim200离子束刻蚀机、Essent Optics分光光度计、LINZA分光光度计、LensCheck MTF传函仪选择指南 - 优质品牌商家
  • Vibing Steampunk,一座把 Claude Code、MCP 和 SAP ADT 接到一起的 ABAP 工程桥
  • 2026北京搬家公司优质推荐指南:北京公司搬家公司/北京收纳整理公司/北京日式搬家公司/北京本地搬家/北京企业搬家/选择指南 - 优质品牌商家
  • Codex入门17-上下文管理(高手秘技:如何让AI精准理解你的百万行大型项目)
  • Zynq的QSPI Flash替换为GD25Q32故障排查
  • 问题分析-并网逆变器炸机问题
  • 别再死记硬背了!用Python代码一次性搞懂曼哈顿、欧式、切比雪夫距离的底层联系
  • 2026免费在线去水印软件推荐,手把手教你5种方法,第三种0.3秒搞定!
  • 2026保姆级免费去图片水印App教程,一键无痕去除,这4款微信小程序最省心
  • 2026最好用的图片处理工具推荐:去水印 / 抠图 / 高清化实测对比
  • Claude Code 接入 DeepSeek
  • 2026专业音响设备应用白皮书文体场馆选型剖析:ZOBO音响、舞台音响、Montarbo音响、Nettuno音响选择指南 - 优质品牌商家
  • 焊接钢格板哪个好?厂家怎么选?实用推荐来啦!
  • 保姆级教程!零代码搞定学生考勤高危群体画像分析(指标卡 + 饼图 + 仪表盘,附完整操作步骤)
  • 告别.bash_profile:在macOS Ventura/Sonoma上为Maven配置环境变量的几种新方法(含Zsh教程)
  • Win10桌面右键新建菜单丢了记事本?别慌,手把手教你用注册表找回来(附权限设置详解)
  • C51开发中寄存器变量限制与优化策略
  • VMware虚拟机里装FydeOS,给旧电脑或MacBook找个轻量‘副系统’
  • AR项目想拿高分?试试用Vuforia虚拟按钮做交互:从选图到避坑全流程
  • 别再让Ubuntu卡成PPT!手把手教你用swapfile把交换空间从1G扩容到64G(附权限修复)
  • 2026年热门的无锡污水污泥脱水机源头工厂推荐 - 品牌宣传支持者
  • GRACE水储量研究避坑指南:手把手教你处理CSR、JPL、GSFC mascon数据常见问题
  • Titanic数据集分析避坑指南:新手常犯的3个错误及如何修正