在当今的云计算时代,Ubuntu云原生集群已成为企业构建现代化应用架构的首选方案。通过将容器技术与自动化编排平台结合,开发者可以更高效地部署、扩展和管理应用程序。本教程将手把手教你如何在 Ubuntu 系统上部署一个完整的 Kubernetes 集群,即使你是初学者也能轻松上手。
Ubuntu 是全球最流行的 Linux 发行版之一,拥有强大的社区支持、长期安全更新以及对容器生态系统的深度集成。它被广泛用于生产环境中的 云原生基础设施,尤其适合作为 Kubernetes 节点的操作系统。
在开始之前,请确保你有以下资源:
在所有服务器上执行以下操作:
# 更新系统sudo apt update && sudo apt upgrade -y# 关闭 swap(Kubernetes 要求)sudo swapoff -asudo sed -i '/ swap / s/^/#/' /etc/fstab# 加载内核模块cat <
Kubernetes 需要一个容器运行时来管理 Pod 中的容器。我们使用 containerd:
# 安装依赖sudo apt install -y ca-certificates curl gnupg lsb-release# 添加 Docker 官方 GPG 密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 设置仓库echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 安装 containerdsudo apt updatesudo apt install -y containerd.io# 配置 containerdsudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.toml# 修改配置以启用 systemd cgroup 驱动sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml# 重启 containerdsudo systemctl restart containerdsudo systemctl enable containerd
这些是 Kubernetes 的核心组件:
# 添加 Kubernetes APT 仓库sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpgecho "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list# 安装工具sudo apt updatesudo apt install -y kubelet kubeadm kubectl# 锁定版本(防止自动更新)sudo apt-mark hold kubelet kubeadm kubectl
仅在主节点执行以下命令:
# 初始化集群(替换 YOUR_MASTER_IP 为主机公网IP)sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=YOUR_MASTER_IP# 配置 kubectlmkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
初始化成功后,你会看到类似 kubeadm join ... 的命令,请复制保存,稍后用于加入工作节点。
Pod 之间需要网络通信,我们使用 Flannel:
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
在每台工作节点上运行之前保存的 kubeadm join 命令:
# 示例(请使用你自己的 token 和 hash)sudo kubeadm join YOUR_MASTER_IP:6443 --token abcdef.1234567890abcdef \ --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
回到主节点,运行以下命令检查节点是否就绪:
kubectl get nodes
如果输出中所有节点的 STATUS 为 Ready,恭喜你!你的 Ubuntu云原生集群 已成功部署。
现在你可以开始部署 容器化应用,例如使用 Helm 安装 Nginx、MySQL 或自定义微服务。为了生产环境,建议:
通过本教程,你已经掌握了在 Ubuntu 上构建 云原生基础设施 的核心技能。这不仅为你打下了坚实的 DevOps 基础,也为未来部署大规模 Kubernetes部署 项目做好了准备。
本文由主机测评网于2025-12-04发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122970.html