登录
首页 >  文章 >  linux

Linux下Kubernetes单节点安装教程

时间:2026-03-05 14:33:50 188浏览 收藏

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

Linux怎么安装Kubernetes_Linux k8s单节点部署教程【容器】

如果您希望在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学习网公众号也会发布文章相关知识,快来关注吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>