软件镜像和类别创建#

在使用 cmcluster-extension 配置 AWS 之前,创建目标公有云环境所需的软件镜像和非 Director 节点类别。

  1. ssh 登录到 Head 节点,使用 root 用户或有 root 权限的用户。

    指定 Head 节点的外部网络地址或主机名以获得访问权限。

    ssh <head-node>
    
  2. 输入 cmsh 配置 shell。

    cmsh
    

    注意

    本文档使用 # 表示在 Head 节点上以 root 用户身份执行的命令,使用 % 表示在 cmsh 内执行的命令。提示符更改在前面的代码块中。如果不清楚命令在哪里执行,请检查其前面的提示符。

  3. 进入 softwareimage 菜单,并创建三个额外的软件镜像,作为 default-image—one 的克隆,分别用于要在公有云中配置的每种节点类型。

    1softwareimage
    2clone default-image cloud-director-image
    3clone default-image k8s-cloud-master-image
    4clone default-image k8s-cloud-gpu-worker-image
    5..
    6commit
    
  4. 进入 category 菜单,并为 k8s-cloud-masterk8scloud-gpu-worker 创建类别。

    cm-cluster-extension 工具会自动为 clouddirector 创建一个类别(softwareimage 在后续步骤中配置)。

    1category
    2clone default k8s-cloud-master
    3set softwareimage k8s-cloud-master-image
    4commit
    5clone default k8s-cloud-gpu-worker
    6set softwareimage k8s-cloud-gpu-worker-image
    7commit
    
  5. 同样扩充新类别的 disksetup

    本指南使用最大化根分区大小的磁盘布局执行,以避免容器快速填满较小分区的情况。将以下文本保存到 /tmp/big-cloud-disk.xml

     1<diskSetup>
     2  <device>
     3    <blockdev>/dev/sda</blockdev>
     4    <blockdev>/dev/I</blockdev>
     5    <blockdev>/dev/vda</blockdev>
     6    <blockdev>/dev/xvda</blockdev>
     7    <blockdev>/dev/cciss/c0d0</blockdev>
     8    <blockdev>/dev/nvme0n1</blockdev>
     9    <blockdev mode=”cloud”>/dev/sdb</blockdev>
    10    <blockdev mode=”cloud”>/dev/hdb</blockdev>
    11    <blockdev mode=”cloud”>/dev/vdb</blockdev>
    12    <blockdev mode=”cloud”>/dev/xvdb</blockdev>
    13    <blockdev mode=”cloud”>/dev/xvdf</blockdev>
    14    <blockdev mode=”cloud”>/dev/nvme1n1</blockdev>
    15    <partition id=”a0” partitiontype=”esp”>
    16      <size>100M</size>
    17      <type>linux</type>
    18      <filesystem>fat</filesystem>
    19      <mountpoint>/boot/efi</mountpoint>
    20      <mountOptions>defaults,noatime,nodiratime</mountOptions>
    21    </partition>
    22    <partition id=”a1”>
    23      <size>max</size>
    24      <type>linux</type>
    25      <filesystem>xfs</filesystem>
    26      <mountpoint>/</mountpoint>
    27      <mountOptions>defaults,noatime,nodiratime</mountOptions>
    28    </partition>
    29    <partition id=”a2”>
    30      <size>12G</size>
    31      <type>linux swap</type>
    32    </partition>
    33  </device>
    34</diskSetup>
    
  6. 在步骤 4 中将新的磁盘布局文件分配给云类别。

    1cmsh
    2category
    3use k8s-cloud-master
    4set disksetup /tmp/big-cloud-disk.xml
    5commit
    6use k8s-cloud-gpu-worker
    7set disksetup /tmp/big-cloud-disk.xml
    8commit
    
  7. 退出 cmsh 配置 shell 并更新所有三个镜像。

    1cm-chroot-sw-img /cm/images/k8s-cloud-master-image/
    2apt update && apt -y upgrade
    3exit
    4cm-chroot-sw-img /cm/images/k8s-cloud-gpu-worker-image/
    5apt update && apt -y upgrade
    6exit
    7cm-chroot-sw-img /cm/images/cloud-director-image/
    8apt update && apt -y upgrade
    9exit
    
  8. 当显示终端菜单以确认是否不需要安装 GRUB 时,选择继续。

    _images/category-creation-01.png