努力
加油

京东云系统镜像默认包含哪些内核版本和基础工具?

京东云(JD Cloud)的系统镜像并不是一个“万能包”,它的内核版本和预装工具高度依赖于你选择的操作系统发行版以及具体的镜像类型(公共镜像、自定义镜像或市场镜像)。

作为在云计算领域摸爬滚打多年的老手,我得先纠正一个常见的误区:云厂商通常不会在系统镜像里“默认”塞入大量非必要的商业软件或特定版本的第三方工具,主要是出于安全、合规和轻量化的考虑。一切以稳定、通用为主。

下面我从几个核心维度来拆解这个问题:

1. 内核版本(Kernel)

内核版本完全取决于你选择的操作系统发行版及其版本代际。京东云提供的公共镜像主要基于主流 Linux 发行版,以下是常见情况:

  • CentOS / Rocky Linux / AlmaLinux

    • 如果你选的是 CentOS 7.x 系列(虽然官方已停止维护,但部分用户仍在使用旧镜像),内核通常是 3.10.x 系列。
    • 如果是较新的 Rocky Linux 9 或 AlmaLinux 8/9,内核版本会升级到 5.14+ 甚至 6.x 系列,具体取决于该镜像发布时的上游更新状态。
    • 注意:京东云的公共镜像通常会保持与上游发行版官方最新稳定补丁同步,但不会超前测试版内核。
  • Ubuntu

    • Ubuntu 20.04 LTS:默认内核是 5.4.x 系列。
    • Ubuntu 22.04 LTS:默认内核是 5.15.x 系列。
    • Ubuntu 24.04 LTS:默认内核是 6.8.x 系列。
    • 这些内核都经过 Canonical 的 HWE(Hardware Enablement)认证,对京东云的虚拟化环境(KVM/Xen)有良好支持。
  • Debian

    • Debian 11 (Bullseye):内核 5.10.x。
    • Debian 12 (Bookworm):内核 6.1.x。
  • Windows Server

    • Windows 系统的内核由微软提供,京东云仅提供经过微软认证的 ISO 或快速启动镜像。内核版本随 Windows 版本变化(如 Win Server 2019 对应 NT 10.0.17763+,Win Server 2022 对应 NT 10.0.20348+)。

关键点:你可以通过 SSH 登录后执行 uname -r 查看当前实例的实际内核版本。这个版本可能与你创建时看到的镜像描述略有不同,因为系统启动后可能会加载更高版本的 HWE 内核或热更新补丁。

2. 基础工具(Base Tools)

京东云的公共 Linux 镜像属于“最小化安装”或“标准安装”范畴,预装的工具非常克制,主要包括以下几类:

A. 系统管理与诊断工具

  • 基础命令集:bash, sh, ls, grep, awk, sed, find, tar, gzip, zip 等 POSIX 标准工具。
  • 网络诊断:ping, ifconfig (或 ip), netstat (或 ss), curl, wget, nslookup/dig (视发行版而定)。
  • 文本处理:vi/vim, nano, less, cat, head, tail。
  • 压缩解压:tar, gzip, bzip2, unzip。

B. 云平台专属XX(Cloud Agent)

这是最关键的部分,也是区分普通 VM 和云主机的核心:

  • cloud-init:几乎所有 Linux 公共镜像都预装了 cloud-init。它在首次启动时负责配置主机名、设置 SSH 密钥注入、挂载云盘、初始化网络等。这是实现“无密码登录”、“自动分配 IP”等功能的基础。
  • JDC Agent / JD Cloud Monitor Agent:京东云会在镜像中预装其自家的监控XX程序(名称可能叫 jdcloud-agent 或类似),用于采集 CPU、内存、磁盘 IO、网络流量等指标,并上报到京东云控制台。同时包含安全加固模块,如防暴力破解、端口扫描检测等基础安全功能。
  • udev 规则:针对云环境的磁盘设备命名规则(如 /dev/vda 而非 /dev/sda)进行了适配。

C. 语言运行时与环境(可选/视镜像类型)

  • 基础开发环境:部分“开发者友好”镜像可能预装 gcc, g++, make, git, python3, pip,但这不是所有公共镜像的标配。大多数标准镜像只提供最基础的编译依赖库(如 libc, openssl),需要你自己通过包管理器安装编译器。
  • Web 服务器:除非你选择的是“LAMP”、“LNMP”等市场镜像,否则标准公共镜像不会预装 Apache/Nginx/MySQL/PHP。

D. 安全相关

  • firewalld 或 iptables:根据发行版默认防火墙策略启用,但初始规则通常允许本地回环和部分内网通信,外部端口默认关闭。
  • SELinux/AppArmor:处于 Enforcing 或 Permissive 模式(依发行版默认设定),需手动调整。

3. 如何确认你的镜像具体内容?

由于京东云不断迭代镜像,最准确的方法是:

  1. 查看镜像详情:在京东云控制台 -> 计算 -> 镜像服务 -> 公共镜像,点击具体镜像名称,查看“描述”或“备注”字段,有时会列出预装的关键组件。

  2. 创建测试实例:最靠谱的方式是创建一个按量付费的小规格实例(用完即删),登录后运行以下命令自查:

    # 查看内核
    uname -r
    
    # 查看已安装的软件包列表(CentOS/Rocky)
    rpm -qa | sort
    
    # 查看已安装的软件包列表(Ubuntu/Debian)
    dpkg -l | grep -v "^ii" | wc -l  # 粗略统计
    dpkg -l | tail -n +6 | head -n 50  # 查看前50个包
    
    # 检查 cloud-init 是否就绪
    cloud-init status --wait
    
    # 检查京东云 agent 进程
    ps aux | grep jdcloud

4. 重要提醒

  • 不要依赖“默认预装”:生产环境中,建议将所有必要工具通过自动化脚本(如 Ansible、Terraform 或 shell 脚本)在安装后部署,而不是依赖镜像自带内容,因为镜像可能随时更新,导致行为不一致。
  • 自定义镜像更安全:如果你需要特定版本的内核(如为 GPU 驱动优化)或特定工具链,建议在干净的系统上手动安装所需软件,然后制作成自定义镜像,这样能保证每次新建实例的环境完全一致。
  • 安全合规:京东云镜像已通过国家信息安全等级保护要求,预装的 agent 均符合国内数据安全法规,无需担心隐私泄露问题。

总结来说,京东云系统镜像默认包含的是对应 OS 发行版的稳定内核 + cloud-init 配置工具 + 京东云监控与安全XX + 基础 POSIX 工具。它不是一个“开箱即用”的应用服务器,而是一个“干净、可配置”的基础设施起点。