Ubuntu 服务器云原生环境搭建怎么做

秋敏小哥_7105

秋敏小哥_7105

2026-08-27

484人浏览

原创

ubuntu服务器云原生环境搭建核心是构建支持容器化、可编排、可观测、易扩展的基础设施栈,需依次部署containerd(推荐)、kubernetes(kubeadm方式)、cni网络插件(如flannel),并加固系统(禁swap、同步时间、配置ipv4转发等),辅以kuboard、metrics server等增强组件实现生产就绪。

ubuntu 服务器云原生环境搭建怎么做

Ubuntu 服务器云原生环境搭建,核心是构建一套支持容器化、可编排、可观测、易扩展的基础设施栈。它不是只装 Docker 就完事,而是围绕 Docker(容器运行时)→ Kubernetes(编排平台)→ 可选边缘/管理组件(如 KubeEdge、Kuboard) 逐层落地。整个过程强调稳定性、安全性和生产就绪性。

一、基础系统准备与加固

这是所有后续部署的前提,直接影响集群长期可用性:

  • 统一系统版本:推荐 Ubuntu 22.04 LTS 或 24.04 LTS(内核 6.6+ 对 cgroup v2 和 systemd 驱动更友好),避免使用桌面版,选用 Server 版最小安装
  • 禁用 Swap:Kubernetes 要求关闭 Swap,否则 kubelet 启动失败:sudo swapoff -a 并注释 /etc/fstab 中 swap 行
  • 配置主机名与 hosts:确保每台节点有唯一静态 hostname,并在 /etc/hosts 中映射所有节点 IP 与 hostname(kubeadm 初始化依赖 DNS 解析)
  • 启用 IPv4 转发和桥接流量:编辑 /etc/sysctl.conf,添加
    net.ipv4.ip_forward = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    然后执行 sudo sysctl -p
  • 同步时间:所有节点必须时间一致,建议安装并启用 chrony:sudo apt install chrony && sudo systemctl enable --now chrony

二、容器运行时:Docker 或 containerd

当前 Kubernetes 官方已弃用 dockershim,推荐直接使用 containerd(更轻量、更符合 OCI 标准)。若习惯 Docker,也可保留其作为 containerd 的前端管理工具:

Ubuntu 26.04
Ubuntu 26.04

Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者

下载
  • 卸载旧容器组件:for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • 添加 Docker 官方源(含 containerd):
    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
  • 安装:sudo apt update && sudo apt install containerd.io docker-ce-cli
  • 配置 containerd 使用 systemd cgroup 驱动(关键!否则 kubelet 报错):
    sudo mkdir -p /etc/containerd
    containerd config default | sudo tee /etc/containerd/config.toml
    编辑该文件,将 SystemdCgroup = false 改为 true,保存后执行:sudo systemctl restart containerd

三、Kubernetes 集群部署(kubeadm 方式)

这是云原生底座的核心,建议 master + worker 分离部署(单节点测试可用 all-in-one):

  • 安装 kubeadm/kubelet/kubectl:
    sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl
    curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
    echo "deb [arch=$(dpkg --print-architecture) 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-get update && sudo apt-get install -y kubelet kubeadm kubectl
    sudo systemctl enable --now kubelet
  • 初始化 control-plane:
    kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket unix:///run/containerd/containerd.sock
    (注意 CIDR 与后续 CNI 插件匹配;--cri-socket 显式指定 containerd socket)
  • 按提示配置 kubectl:
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 安装 CNI 网络插件(如 Flannel):
    kubectl apply -f https://github.com/flannel-io/flannel/releases/download/v0.24.2/kube-flannel.yml
  • 加入 worker 节点:
    在 master 上执行 kubeadm token create --print-join-command 获取命令,在 worker 上直接运行即可

四、增强能力与可观测性(可选但推荐)

真正面向生产的云原生环境,还需补充以下模块:

  • Kuboard V3:轻量级 Web 控制台,部署只需一条命令:kubectl apply -f https://kuboard.cn/install-script/kuboard-v3.yaml,访问 http://<master-ip>:30080</master-ip>
  • Metrics Server:支撑 HPA 和 kubectl top 功能:kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.2/components.yaml
  • 日志与监控:可快速部署 Loki + Promtail + Grafana(轻量)或完整 ELK/Prometheus Stack
  • 边缘扩展(KubeEdge):若需管理边缘设备,部署 KubeEdge 需额外配置 cloudcore/edgecore,并启用 MQTT 或 WebSocket 通信

不复杂但容易忽略细节,比如 cgroup 驱动不一致、Swap 未关、时间不同步——这些都会导致集群初始化卡住或节点 NotReady。建议每步执行后验证状态:kubectl get nodes -o wide、kubectl get pods -A、systemctl status kubelet。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

ubuntu

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang 云原生与容器化开发
Golang 云原生与容器化开发

本专题聚焦 Golang 在云原生与容器化环境中的应用,系统讲解 Docker 镜像构建、Kubernetes 部署与调度、服务网格、微服务通信、日志与监控等关键技术。通过实战案例(如微服务电商平台部署、容器化API网关开发),帮助学习者掌握 从开发到运维的完整云原生实践能力。

2025.09.29

6365

11

服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2672

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

896

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

809

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2416

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4472

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
宝塔官方文档(产品介绍)
宝塔官方文档(产品介绍)

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习