当前位置:首页 > 系统教程 > 正文

手把手教你Ubuntu 22.04搭建k8s 1.30.1集群(附Dashboard和ingress-nginx部署)

手把手教你Ubuntu 22.04搭建k8s 1.30.1集群(附Dashboard和ingress-nginx部署)

本文详细讲解如何在Ubuntu 22.04 LTS上从零开始搭建一个高可用的Kubernetes集群(版本1.30.1),并部署官方Dashboard 2.7.0以及ingress-nginx 1.10.1。无论你是运维小白还是开发人员,都能通过本教程轻松掌握k8s集群的搭建与核心组件配置。

手把手教你Ubuntu 22.04搭建k8s 1.30.1集群(附Dashboard和ingress-nginx部署) Kubernetes集群搭建  Ubuntu 22.04 k8s安装 Dashboard部署 ingress-nginx配置 第1张

1. 环境准备与前置条件

硬件要求:至少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。

2. 基础系统配置(所有节点执行)

    # 更新系统源sudo apt update && sudo apt upgrade -y# 关闭swap(k8s必须)sudo swapoff -asudo sed -i "/ swap / s/^\(.*\)$/#�/g" /etc/fstab# 加载内核模块cat <  

3. 安装容器运行时(containerd)

    # 安装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  

4. 安装kubeadm、kubelet、kubectl

    # 添加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  

5. 初始化控制平面节点(仅在master执行)

    # 获取本机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  

手把手教你Ubuntu 22.04搭建k8s 1.30.1集群(附Dashboard和ingress-nginx部署) Kubernetes集群搭建  Ubuntu 22.04 k8s安装 Dashboard部署 ingress-nginx配置 第2张

6. 安装网络插件(Calico)

    # 下载并应用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  

7. 加入工作节点(可选)

在worker节点执行master初始化后生成的kubeadm join命令。

8. 部署Dashboard 2.7.0

    # 部署官方Dashboardkubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml# 创建访问用户(创建dashboard-adminuser.yaml)cat <  

9. 部署ingress-nginx 1.10.1

    # 安装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  

10. 验证集群与组件

    # 查看节点状态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安装环境已经搭建完成,并且成功部署了Dashboardingress-nginx。你可以通过上述token登录Dashboard进行图形化管理,并通过ingress-nginx暴露HTTP服务。希望本教程能帮助你在Kubernetes集群搭建的道路上迈出坚实的一步!