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

Kubernetes 1.30.1 集群搭建指南(Ubuntu 22.04 环境下从零快速部署 k8s 1.30.1 与 Dashboard 2.7.0 及 Ingress-Nginx 1.10.1)

随着容器化技术的普及,Kubernetes(简称 k8s)已成为企业级架构的首选。本文将为您详细介绍如何在 Ubuntu 22.04 系统上搭建最新的 k8s 1.30.1 集群。本教程包含从基础环境配置到 Dashboard 部署 以及 Ingress-Nginx 配置 的全过程,旨在帮助小白也能顺利完成生产级环境的部署。

一、 节点准备与环境初始化

在开始之前,我们需要确保系统环境符合 Kubernetes 的运行要求。以下操作需在所有节点(Master 和 Worker)执行。

  • 操作系统: Ubuntu 22.04 LTS
  • 内核版本: 建议 5.15 或以上
  • 硬件配置: 至少 2核CPU / 2G内存

1.1 修改主机名与 Host 映射

# 在 Master 节点执行hostnamectl set-hostname k8s-master# 在 Worker 节点执行hostnamectl set-hostname k8s-node1

1.2 关闭 Swap 分区

Kubernetes 要求必须关闭 Swap,否则 kubelet 将无法启动。

sudo swapoff -asudo sed -i '/swap/s/^/#/' /etc/fstab

1.3 开启流量转发与内核模块

cat <<EOF | sudo tee /etc/modules-load.d/k8s.confoverlaybr_netfilterEOFsudo modprobe overlaysudo modprobe br_netfilter# 设置必要的 sysctl 参数cat <<EOF | sudo tee /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-iptables  = 1net.bridge.bridge-nf-call-ip6tables = 1net.ipv4.ip_forward                 = 1EOFsudo sysctl --system
Kubernetes 1.30.1 集群搭建指南(Ubuntu 22.04 环境下从零快速部署 k8s 与 Dashboard 2.7.0 及 Ingress-Nginx 1.10.1) Ubuntu 搭建  安装教程 部署 配置 第1张

二、 安装容器运行时 Containerd

从 k8s 1.24 开始,Docker shim 已被移除,我们使用 Containerd 作为运行时。

sudo apt updatesudo 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.tomlsudo systemctl restart containerd

三、 安装 Kubeadm、Kubelet 和 Kubectl

这是 k8s 1.30.1 安装教程 的核心步骤。我们需要添加国内源以加速下载。

sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl# 添加阿里云 GPG 密钥和软件源curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt updatesudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectl

四、 初始化集群 (Master 节点)

在 Master 节点上执行初始化命令。注意替换为您自己的 Master IP。

kubeadm init \  --apiserver-advertise-address=192.168.1.10 \  --image-repository registry.aliyuncs.com/google_containers \  --kubernetes-version v1.30.1 \  --service-cidr=10.96.0.0/12 \  --pod-network-cidr=10.244.0.0/16

初始化成功后,按照提示执行以下命令配置环境变量:

mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config

五、 部署网络插件 Flannel

没有网络插件,Pod 之间无法通信,节点状态会保持在 NotReady。

kubectl apply -f https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml

六、 Kubernetes Dashboard 部署

为了可视化管理集群,我们需要进行 Kubernetes Dashboard 部署

# 安装 Dashboard 2.7.0kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

由于默认是 ClusterIP 模式,我们可以修改 Service 类型为 NodePort 以便外部访问,或者使用管理员 Token 登录。

七、 Ingress-Nginx 配置与安装

Ingress-Nginx 配置 是实现外部访问内部服务的关键组件。

# 安装 Ingress-Nginx 1.10.1kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml

安装完成后,您可以通过创建 Ingress 资源来定义域名的转发规则,实现灵活的负载均衡。

总结

通过本文的步骤,您已经成功在 Ubuntu 22.04 搭建 k8s 1.30.1 环境,并完成了管理界面与流量入口的配置。Kubernetes 的学习曲线虽然陡峭,但掌握了基础搭建后,后续的微服务治理将变得游刃有余。

本文涉及的关键词: Ubuntu 22.04 搭建 k8s k8s 1.30.1 安装教程 Kubernetes Dashboard 部署 Ingress-Nginx 配置