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

Kubeadm安装K8S集群

本次安装1.33版本参考官网
https://v1-33.docs.kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

  1. 环境查看
    系统环境
# uname  -a
Linux iZ7xv2oxvtpwp70zxjl8yfZ 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
# lsb_release -a
LSB Version:    core-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy

软件环境

  1. 安装基础工具
    关闭交互分区
# swapoff -a

更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:

sudo apt-get update
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg

下载用于 Kubernetes 软件包仓库的公共签名密钥。所有仓库都使用相同的签名密钥,因此你可以忽略URL中的版本:

# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

添加 Kubernetes apt 仓库。 请注意,此仓库仅包含适用于 Kubernetes 1.33 的软件包; 对于其他 Kubernetes 次要版本,则需要更改 URL 中的 Kubernetes 次要版本以匹配你所需的次要版本 (你还应该检查正在阅读的安装文档是否为你计划安装的 Kubernetes 版本的文档)。

# 此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本:

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

查看安装版本
需要版本对应如果不对应可能会出现各种问题

# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"33", EmulationMajor:"", EmulationMinor:"", MinCompatibilityMajor:"", MinCompatibilityMinor:"", GitVersion:"v1.33.7", GitCommit:"a7245cdf3f69e11356c7e8f92b3e78ca4ee4e757", GitTreeState:"clean", BuildDate:"2025-12-09T14:41:01Z", GoVersion:"go1.24.11", Compiler:"gc", Platform:"linux/amd64"}
root@iZ7xv2oxvtpwp70zxjl8yfZ:~# kubectl version
Client Version: v1.33.7
Kustomize Version: v5.6.0
The connection to the server localhost:8080 was refused - did you specify the right host or port?
root@iZ7xv2oxvtpwp70zxjl8yfZ:~# kubelet --version
Kubernetes v1.33.7
  1. 初始化集群
    安装containerd
apt install containerd

初始化集群
设置Master节点ip和pod的网段

kubeadm init --apiserver-advertise-address=172.16.5.117 --pod-network-cidr=10.244.0.0/16

下载镜像等待时间较长
错误提示如下

# kubeadm init --apiserver-advertise-address=172.16.5.117 --pod-network-cidr=10.244.0.0/16
I1223 10:45:46.039362    4388 version.go:261] remote version is much newer: v1.35.0; falling back to: stable-1.33
[init] Using Kubernetes version: v1.33.7
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:[ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

设置

sysctl -w net.ipv4.ip_forward=1
sysctl net.ipv4.ip_forward

永久生效

vim /etc/sysctl.conf
# 添加
net.ipv4.ip_forward=1

如果本机无法访问国外网站的需要从可以访问国外网站的主机导出镜像再到需要安装的主机导入镜像

如果版本不一致比如kubeadm版本是1.33.7 但是导入的镜像版本是1.33.6则可以指定版本安装

sudo apt-get install -y kubeadm=1.33.6-1.1 --allow-downgrades
kubectl version
apt list -a kubectl
sudo apt-get install -y kubectl=1.33.6-1.1 --allow-downgrades

需要加参数--allow-downgrades因为之前有hold版本
不知道版本则使用以下命令查看

apt list -a kubelet

安装完成后还是需要固定版本

sudo apt-mark hold kubelet kubeadm kubectl

init成功之后输出如下

Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:export KUBECONFIG=/etc/kubernetes/admin.confYou should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:https://kubernetes.io/docs/concepts/cluster-administration/addons/Then you can join any number of worker nodes by running the following on each as root:kubeadm join 172.16.5.117:6443 --token uelkr9.ieoyqa1nuviimqg4 \--discovery-token-ca-cert-hash sha256:4037d12b8607287282a6cc20ef4bc4125baee378f619c2ee9caa3faa621316cd

按提示操作即可
安装网络组件

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
  1. 其他节点加入集群
http://www.jsqmd.com/news/147526/

相关文章:

  • Real-ESRGAN终极指南:三步实现图片视频智能修复
  • 2025年年终膜结构厂家推荐:从设计能力到施工团队的专业维度对比与5家高口碑厂家聚焦 - 品牌推荐
  • 读共生:4_0时代的人机关系02人机合作后
  • 大文件处理利器:TFRecord格式设计与优化建议
  • 单点登录集成:OAuth2.0接入TensorFlow Web门户
  • 2025年上海网站建设十大品牌权威评测 - 行业调查分析报告 - 匠子网络
  • 2025年企业展厅设计公司推荐,技术先进的企业展厅设计服务公司全解析 - 工业品牌热点
  • 2025年北京婚内财产协议律师联系方式汇总: 核心城区资深律师联系通道与高效咨询指引 - 十大品牌推荐
  • 3步轻松搞定黑苹果:告别复杂配置的智能助手
  • 2025年餐饮加盟食材新鲜度与性价比排名:小屉鲜食材新鲜度如何 - 工业品网
  • 企业如何选择靠谱的能碳管理平台?2025年年终最新技术趋势解读及5款实力派产品推荐! - 品牌推荐
  • 一文说清ESP32固件库下载在智能家居中的作用
  • 2025年年终能碳管理平台推荐:基于真实用户评价与实施案例的5款高口碑能碳管理工具深度评测 - 品牌推荐
  • OpCore Simplify核心故障排查全攻略:5大关键问题的精准修复方案
  • 2025年度北京融资顾问服务推荐TOP5:线上融资顾问哪家强? - 工业设备
  • SeqKit终极指南:生物序列处理的完整解决方案
  • 能碳管理平台如何选型更贴合企业实际?2025年年终最新市场深度评测及5款专业推荐! - 品牌推荐
  • ONNX模型下载性能优化矩阵:8种场景下的终极解决方案
  • Open-AutoGLM元素定位技术深度解析(从入门到高阶应用)
  • 如何甄别真正具备全场景落地能力的服务商?2025年年终智能巡检机器狗领域深度评测与权威推荐! - 品牌推荐
  • 强化学习入门:TensorFlow Agents框架快速上手
  • Arduino Nano(ATmega328P)启动流程完整指南
  • LongCat-Video:13.6亿参数开源视频生成模型,重塑你的创作边界
  • 树莓派串口通信在工业PLC互联中的实战案例
  • Open-AutoGLM 到底强在哪:3大核心技术突破彻底改写AI推理规则
  • 2025年年终眼疲劳眼液产品推荐:整合用户真实评价与医学认证,5款知名品牌产品实用清单 - 十大品牌推荐
  • OpCore Simplify:开启你的Hackintosh自动化配置新时代
  • FreeCAD 3D建模:重新定义参数化设计的开源革命
  • eSPI中断机制硬件实现原理剖析
  • SeedVR2视频修复实战指南:从入门到精通的高效创作解决方案