Linux下Kubernetes单节点安装教程
时间:2026-03-05 14:33:50 188浏览 收藏
本文详细介绍了在Linux系统上搭建单节点Kubernetes集群的两种主流实践方案——轻量快速的Minikube和贴近生产环境的kubeadm,涵盖从容器运行时配置、集群初始化、CNI网络插件(Calico)部署到应用验证(Nginx)的完整流程,兼顾开发测试的便捷性与学习生产架构的深度,是初学者入门Kubernetes和进阶者夯实基础的理想实操指南。

如果您希望在Linux系统上快速搭建一个单节点Kubernetes集群用于学习或测试,Minikube和kubeadm是两种主流方式。以下是针对不同场景的独立部署方法:
一、使用Minikube部署单节点Kubernetes
Minikube在本地虚拟机中运行一个轻量级Kubernetes集群,适合开发与验证,无需修改宿主机系统配置,隔离性好且启动迅速。
1、确保系统已安装Docker或Podman作为容器运行时,并启用systemd服务。
2、执行命令下载并安装Minikube二进制文件:curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube。
3、运行minikube start --driver=docker启动集群,Minikube将自动拉取所需镜像并初始化控制平面。
4、执行minikube kubectl -- get nodes验证节点状态,输出应显示Ready状态。
二、使用kubeadm部署单节点Kubernetes
kubeadm提供标准化的集群引导流程,直接在宿主机上运行组件,更贴近生产环境结构,适用于需要完整控制面组件的学习场景。
1、禁用swap:执行sudo swapoff -a,并注释/etc/fstab中swap行以防止重启生效。
2、加载内核模块并配置网络:运行sudo modprobe br_netfilter && echo 'br_netfilter' | sudo tee -a /etc/modules;设置sysctl -w net.bridge.bridge-nf-call-iptables=1。
3、安装containerd:下载并解压containerd二进制包,配置/etc/containerd/config.toml启用SystemdCgroup = true,然后启动containerd服务。
4、添加Kubernetes APT源并安装kubelet、kubeadm、kubectl三个核心组件,保持版本一致,例如sudo apt-get install -y kubelet=1.28.0-00 kubeadm=1.28.0-00 kubectl=1.28.0-00。
5、执行sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket=unix:///run/containerd/containerd.sock初始化控制平面。
6、按初始化成功后提示执行mkdir -p $HOME/.kube && sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config && sudo chown $(id -u):$(id -g) $HOME/.kube/config配置kubectl访问权限。
三、部署Calico网络插件
Kubernetes要求CNI插件支持Pod间通信,Calico提供策略控制与高性能路由能力,适用于单节点与多节点统一部署。
1、确保kubectl已配置且能连接API Server,运行kubectl get nodes确认节点为NotReady状态。
2、应用Calico官方清单:kubectl apply -f https://docs.projectcalico.org/v3.26/manifests/calico.yaml。
3、等待kubectl get pods -n kube-system中所有calico-* Pod状态变为Running,节点状态将自动更新为Ready。
四、验证集群功能
部署一个Nginx示例应用可验证调度、网络与服务发现是否正常工作,不依赖外部镜像仓库时优先使用本地缓存镜像。
1、创建Deployment:kubectl create deployment nginx-test --image=nginx:alpine。
2、暴露端口:kubectl expose deployment nginx-test --port=80 --type=NodePort。
3、获取服务地址:kubectl get service nginx-test,记录NODE_PORT值。
4、在宿主机执行curl http://localhost:NODE_PORT,返回Nginx欢迎页即表示集群基础功能就绪。
终于介绍完啦!小伙伴们,这篇关于《Linux下Kubernetes单节点安装教程》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
250 收藏
-
302 收藏
-
143 收藏
-
305 收藏
-
432 收藏
-
144 收藏
-
180 收藏
-
370 收藏
-
219 收藏
-
241 收藏
-
263 收藏
-
279 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习