容器OS镜像制作指导#

简介

kbimg是KubeOS部署和升级所需的镜像制作工具,可以使用kbimg制作KubeOS docker,虚拟机和物理机镜像

命令介绍

命令格式

bash kbimg.sh [ –help | -h ] create [ COMMANDS ] [ OPTIONS ]

参数说明

  • COMMANDS

    参数描述
    upgrade-image生成用于安装和升级的docker镜像格式的 KubeOS 镜像
    vm-image生成用于部署和升级的虚拟机镜像
    pxe-image生成物理机安装所需的镜像及文件
  • OPTIONS

    参数描述
    -prepo 文件的路径,repo 文件中配置制作镜像所需要的 yum 源
    -v制作出来的KubeOS镜像的版本
    -bos-agent二进制的路径
    -eKubeOS 镜像 root 用户密码,加密后的带盐值的密码,可以用 openssl,kiwi 命令生成
    -d生成或者使用的 docke r镜像
    -h –help查看帮助信息

使用说明

注意事项

  • kbimg.sh 执行需要 root 权限
  • 当前仅支持 x86和 AArch64 架构使用
  • 容器 OS 镜像制作工具的 rpm 包源为 openEuler 具体版本的 everything 仓库和 EPOL 仓库。制作镜像时提供的 repo 文件中,yum 源建议同时配置 openEuler 具体版本的 everything 仓库和 EPOL 仓库

KubeOS docker镜像制作

注意事项

  • 制作的 docker 镜像仅用于后续的虚拟机/物理机镜像制作或升级使用,不支持启动容器
  • 使用默认 rpmlist 进行容器OS镜像制作时所需磁盘空间至少为6G,如自已定义 rpmlist 可能会超过6G

使用示例

  • 如需进行DNS配置,请先在scripts目录下自定义resolv.conf文件
  cd /opt/kubeOS/scripts
  touch resolv.conf
  vim resolv.conf
  • 制作KubeOS容器镜像
cd /opt/kubeOS/scripts
bash kbimg.sh create upgrade-image -p xxx.repo -v v1 -b ../bin/os-agent -e '''$1$xyz$RdLyKTL32WEvK3lg8CXID0''' -d your_imageRepository/imageName:version 
  • 制作完成后查看制作出来的KubeOS容器镜像
docker images

KubeOS 虚拟机镜像制作

注意事项

  • 如使用 docker 镜像制作请先拉取相应镜像或者先制作docker镜像,并保证 docker 镜像的安全性
  • 制作出来的容器 OS 虚拟机镜像目前只能用于 CPU 架构为 x86 和 AArch64 的虚拟机
  • 容器 OS 目前不支持 x86 架构的虚拟机使用 legacy 启动模式启动
  • 使用默认rpmlist进行容器OS镜像制作时所需磁盘空间至少为25G,如自已定义rpmlist可能会超过25G

使用示例

  • 使用repo源制作

    • 如需进行DNS配置,请先在scripts目录下自定义resolv.conf文件
    cd /opt/kubeOS/scripts
    touch resolv.conf
    vim resolv.conf
    
    • KubeOS虚拟机镜像制作
    cd /opt/kubeOS/scripts
    bash kbimg.sh create vm-image -p xxx.repo -v v1 -b ../bin/os-agent -e '''$1$xyz$RdLyKTL32WEvK3lg8CXID0'''
    
  • 使用docker镜像制作

    cd /opt/kubeOS/scripts
    bash kbimg.sh create vm-image -d  your_imageRepository/imageName:version
    
  • 结果说明
    容器 OS 镜像制作完成后,会在 /opt/kubeOS/scripts 目录下生成:

    • system.qcow2: qcow2 格式的系统镜像,大小默认为 20GiB,支持的根文件系统分区大小 < 2020 MiB,持久化分区 < 16GiB 。
    • update.img: 用于升级的根文件系统分区镜像

KubeOS 物理机安装所需镜像及文件制作

注意事项

  • 如使用 docker 镜像制作请先拉取相应镜像或者先制作 docker 镜像,并保证 docker 镜像的安全性
  • 制作出来的容器 OS 物理安装所需的镜像目前只能用于 CPU 架构为 x86 和 AArch64 的物理机安装
  • Global.cfg配置中指定的ip为安装时使用的临时ip,请在系统安装启动后请参考《openEuler 22.09 管理员指南-配置网络》进行网络配置
  • 不支持多个磁盘都安装KubeOS,可能会造成启动失败或挂载紊乱
  • 容器OS 目前不支持 x86 架构的物理机使用 legacy 启动模式启动
  • 使用默认rpmlist进行镜像制作时所需磁盘空间至少为5G,如自已定义 rpmlist 可能会超过5G

使用示例

  • 首先需要修改00bootup/Global.cfg的配置,对相关参数进行配置,参数均为必填,ip目前仅支持ipv4,配置示例如下

    # rootfs file name
    rootfs_name=kubeos.tar
    # select the target disk to install kubeOS
    disk=/dev/sda
    # pxe server ip address where stores the rootfs on the http server
    server_ip=192.168.1.50
    # target machine temporary ip
    local_ip=192.168.1.100
    # target machine temporary route
    route_ip=192.168.1.1
    # target machine temporary netmask
    netmask=255.255.255.0
    # target machine netDevice name
    net_name=eth0
    
  • 使用 repo 源制作

    • 如需进行DNS配置,请在scripts目录下自定义resolv.conf文件
      cd /opt/kubeOS/scripts
      touch resolv.conf
      vim resolv.conf
    
    • KubeOS物理机安装所需镜像制作
      cd /opt/kubeOS/scripts
      bash kbimg.sh create pxe-image -p xxx.repo -v v1 -b ../bin/os-agent -e '''$1$xyz$RdLyKTL32WEvK3lg8CXID0'''
    
  • 使用 docker 镜像制作

    cd /opt/kubeOS/scripts
    bash kbimg.sh create pxe-image -d your_imageRepository/imageName:version
    
  • 结果说明

    • initramfs.img: 用于pxe启动用的 initramfs 镜像
    • kubeos.tar: pxe安装所用的 OS

文档捉虫

“有虫”文档片段

问题描述

提交类型 issue
有点复杂...
找人问问吧。
PR
小问题,全程线上修改...
一键搞定!
问题类型
规范和低错类

● 错别字或拼写错误;标点符号使用错误;

● 链接错误、空单元格、格式错误;

● 英文中包含中文字符;

● 界面和描述不一致,但不影响操作;

● 表述不通顺,但不影响理解;

● 版本号不匹配:如软件包名称、界面版本号;

易用性

● 关键步骤错误或缺失,无法指导用户完成任务;

● 缺少必要的前提条件、注意事项等;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

正确性

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 命令、命令参数等错误;

● 代码片段错误;

● 命令无法完成对应功能;

● 界面错误,无法指导操作;

风险提示

● 对重要数据或系统存在风险的操作,缺少安全提示;

内容合规

● 违反法律法规,涉及政治、领土主权等敏感词;

● 内容侵权;

您对文档的总体满意度

非常不满意
非常满意
提交
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。