中文
注册

创建、上传用户镜像到Image服务

裸金属服务需要使用部署镜像与用户镜像,前者包含ironic-python-agent服务用于在部署裸金属服务过程中控制和部署裸金属实例节点,后者供最终用户使用。以下所有操作在OpenStack控制节点执行,后续使用镜像都以Centos镜像为例。

  1. 获取x86、ARM Guest镜像。
    1
    2
    wget https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2003.qcow2 --no-check-certificate
    wget https://cloud.centos.org/centos/7/images/CentOS-7-aarch64-GenericCloud-2003.qcow2 --no-check-certificate
    
  2. 将裸金属实例的用户镜像添加到Glance镜像服务。
    1
    2
    glance image-create --name CentOS-7-x86_64-GenericCloud-2003 --visibility public --disk-format qcow2 --container-format bare < ./CentOS-7-x86_64-GenericCloud-2003.qcow2
    glance image-create --name CentOS-7-aarch64-GenericCloud-2003 --visibility public --disk-format qcow2 --container-format bare < ./CentOS-7-aarch64-GenericCloud-2003.qcow2
    
  3. 获取x86部署镜像。
    1
    2
    wget --no-check-certificate https://tarballs.opendev.org/openstack/ironic-python-agent/dib/files/ipa-centos7-stable-train.initramfs -o ipa-x86.initramfs
    wget --no-check-certificate https://tarballs.opendev.org/openstack/ironic-python-agent/dib/files/ipa-centos7-stable-train.kernel -o ipa-x86.kernel
    
  4. 将x86部署镜像添加到Glance镜像服务。
    1
    2
    openstack image create ipa-x86-kernel --public --disk-format aki --container-format aki --file ipa-x86.kernel
    openstack image create ipa-x86-initrd --public --disk-format ari --container-format ari --file ipa-x86.initramfs
    
  5. 编译arm部署镜像。

    利用ironic-python-agent-builder编译arm部署镜像,因ironic-python-agent-builder最新版本已不支持python2(支持Python2的最高版本为1.1.0),建议在其他arm环境上升级python3(以下以python3.9为例),进行部署镜像编译。

    1. 安装ironic-python-agent-builder。
      1
      pip install ironic-python-agent-builder==5.2.0
      
    2. 安装diskimage-builder。
      1
      pip install diskimage-builder==3.28.0
      
    3. 安装setuptools。
      1
      pip install setuptools
      
    4. 配置环境变量。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      export ARCH=aarch64
      export DIB_REPOREF_ironic_python_agent=stein-eol
      export DIB_REPOREF_requirements=stein-eol
      export DIB_RELEASE=7
      export DIB_PYTHON_EXEC="/usr/bin/python3"
      export DIB_DEV_USER_USERNAME=devuser
      export DIB_DEV_USER_PWDLESS_SUDO=YES
      export DIB_DEV_USER_PASSWORD=PASSWORD
      git config --global http.sslverify false
      

      为方便理解,本文将涉及到的密码全部以“PASSWORD”代替,请用户根据实际情况进行修改。此处PASSWORD为部署引导过程中小系统的登录密码,可自定义密码,默认登录账号为devuser。

    5. 修改构建工具。
      1. 创建/etc/resolv.conf文件。
        touch /etc/resolv.conf
      2. 修改01-00-centos-python3文件。
        vi /usr/local/lib/python3.9/site-packages/diskimage_builder/elements/yum/pre-install.d/01-00-centos-python3

        修改区域已在下图标记出来,请对比修改。

      3. 修改98-source-repositories文件。
        vi /usr/local/lib/python3.9/site-packages/diskimage_builder/elements/source-repositories/extra-data.d/98-source-repositories

        修改区域已在下图标记出,请对比修改。

      4. 修改install-packages文件。
        vi /usr/local/lib/python3.9/site-packages/diskimage_builder/elements/yum/bin/install-packages

        修改区域已在下图标记出来,请对比修改。

    6. 编译部署镜像。
      ironic-python-agent-builder -o ipa-aarch64 -e "devuser dynamic-login dhcp-all-interfaces deploy-baremetal" --release 7 centos-minimal --extra-args=-x

      编译完成后,会生成ipa-aarch64.initramfs与ipa-aarch64.kernel两个文件,这两个文件就是aarch64部署镜像,将这两个文件上传到OpenStack控制节点。

  6. 将aarch64部署镜像添加到Glance镜像服务。
    1
    2
    openstack image create ipa-aarch64-kernel --public --disk-format aki --container-format aki --file ipa-aarch64.kernel
    openstack image create ipa-aarch64-initrd --public --disk-format ari --container-format ari --file ipa-aarch64.initramfs
    
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词