本文详细讲解如何在Ubuntu 22.04 LTS上从零开始搭建一个高可用的Kubernetes集群(版本1.30.1),并部署官方Dashboard 2.7.0以及ingress-nginx 1.10.1。无论你是运维小白还是开发人员,都能通过本教程轻松掌握k8s集群的搭建与核心组件配置。
硬件要求:至少2核CPU、2GB内存、20GB磁盘空间(推荐4核8GB)。本文使用Ubuntu 22.04作为操作系统,所有节点需配置静态IP并确保网络互通。软件版本:Kubernetes v1.30.1、Docker(使用containerd作为运行时)、Dashboard v2.7.0、ingress-nginx v1.10.1。
# 更新系统源sudo apt update && sudo apt upgrade -y# 关闭swap(k8s必须)sudo swapoff -asudo sed -i "/ swap / s/^\(.*\)$/#�/g" /etc/fstab# 加载内核模块cat < # 安装containerdsudo apt install -y containerd# 生成默认配置并修改sudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.toml# 修改SystemdCgroup为truesudo sed -i "s/SystemdCgroup = false/SystemdCgroup = true/g" /etc/containerd/config.toml# 重启containerdsudo systemctl restart containerdsudo systemctl enable containerd # 添加k8s官方APT仓库sudo apt install -y apt-transport-https ca-certificates curl gpgcurl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg# 写入源(注意版本对应v1.30)echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list# 安装指定版本sudo apt updatesudo apt install -y kubelet=1.30.1-1.1 kubeadm=1.30.1-1.1 kubectl=1.30.1-1.1sudo apt-mark hold kubelet kubeadm kubectl # 获取本机IP(假设为192.168.1.100,请替换为实际IP)IP_ADDR=$(ip route get 1 | awk "{print $NF;exit}")# 初始化集群(使用calico网络插件需要指定pod网段)sudo kubeadm init --apiserver-advertise-address=$IP_ADDR --pod-network-cidr=192.168.0.0/16# 根据输出提示配置kubectlmkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
# 下载并应用Calico YAMLcurl https://raw.githubusercontent.com/projectcalico/calico/v3.27/manifests/calico.yaml -Okubectl apply -f calico.yaml# 等待所有calico pod运行kubectl get pods -n kube-system -w 在worker节点执行master初始化后生成的kubeadm join命令。
# 部署官方Dashboardkubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml# 创建访问用户(创建dashboard-adminuser.yaml)cat < # 安装ingress-nginxkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml# 检查ingress-nginx pods状态kubectl get pods -n ingress-nginx # 查看节点状态kubectl get nodes# 查看所有podskubectl get pods --all-namespaces# 访问Dashboard(通过kubectl proxy)kubectl proxy# 然后在浏览器访问:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 至此,一个完整的Ubuntu 22.04 k8s安装环境已经搭建完成,并且成功部署了Dashboard和ingress-nginx。你可以通过上述token登录Dashboard进行图形化管理,并通过ingress-nginx暴露HTTP服务。希望本教程能帮助你在Kubernetes集群搭建的道路上迈出坚实的一步!
本文由主机测评网于2026-02-25发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260227076.html