嵌入 RHEL for Edge 镜像


Red Hat build of MicroShift 4.18

嵌入 RHEL for Edge 镜像

Red Hat OpenShift Documentation Team

摘要

本文档提供有关从具有受支持 RHEL 版本的机器上安装 RPM 软件包的信息。

您可以将 MicroShift 嵌入到 Red Hat Enterprise Linux for Edge (RHEL for Edge)镜像中。使用本指南构建包含 MicroShift 的 RHEL 镜像。

1.1. 准备镜像构建

阅读 制作、安装和管理 RHEL for Edge 镜像

要为给定 CPU 架构构建 Red Hat Enterprise Linux for Edge (RHEL for Edge) 9.4 镜像,您需要一个满足 镜像构建器系统要求 的相同 CPU 架构的 RHEL 9.4 构建主机。

按照安装镜像构建器中的说明来安装 镜像构建器composer-cli 工具。

1.2. 将 MicroShift 存储库添加到镜像构建器

使用以下步骤将 MicroShift 存储库添加到构建主机上的镜像构建器中。

先决条件

  • 您的构建主机满足镜像构建器系统要求。
  • 已安装并设置镜像构建器和 composer-cli 工具。
  • 您有访问构建主机的 root-user 访问权限。

流程

  1. 运行以下命令,创建一个镜像构建器配置文件来添加拉取 MicroShift RPM 所需的 rhocp-4.18 RPM 存储库源:

    cat > rhocp-4.18.toml <<EOF
    id = "rhocp-4.18"
    name = "Red Hat OpenShift Container Platform 4.18 for RHEL 9"
    type = "yum-baseurl"
    url = "https://cdn.redhat.com/content/dist/layered/rhel9/$(uname -m)/rhocp/4.18/os"
    check_gpg = true
    check_ssl = true
    system = false
    rhsm = true
    EOF
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,创建镜像构建器配置文件来添加 fast-datapath RPM 存储库:

    cat > fast-datapath.toml <<EOF
    id = "fast-datapath"
    name = "Fast Datapath for RHEL 9"
    type = "yum-baseurl"
    url = "https://cdn.redhat.com/content/dist/layered/rhel9/$(uname -m)/fast-datapath/os"
    check_gpg = true
    check_ssl = true
    system = false
    rhsm = true
    EOF
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令,将源添加到镜像构建器中:

    $ sudo composer-cli sources add rhocp-4.18.toml
    Copy to Clipboard Toggle word wrap
    $ sudo composer-cli sources add fast-datapath.toml
    Copy to Clipboard Toggle word wrap

验证

  • 运行以下命令确认源是否已正确添加:

    $ sudo composer-cli sources list
    Copy to Clipboard Toggle word wrap

    输出示例

    appstream
    baseos
    fast-datapath
    rhocp-4.18
    Copy to Clipboard Toggle word wrap

1.3. 将 MicroShift 服务添加到蓝图中

将 MicroShift RPM 软件包添加到镜像构建器蓝图中可启用使用 MicroShift 嵌入的 RHEL for Edge 镜像构建。

  • 从第 1 步开始,创建自己的最小蓝图文件,从而加快 MicroShift 安装的速度。
  • 从第 2 步开始,使用生成的蓝图进行安装,其中包括所有 RPM 软件包和容器镜像。这是一个较长的安装过程,但启动速度会加快,因为容器引用在本地访问。

    重要
    • 将以下流程中的 < microshift_blueprint.toml > 替换为您要使用的 TOML 文件的名称。
    • 将以下流程中的 & lt;microshift_blueprint > 替换为您要用于蓝图的名称。

流程

  1. 使用以下示例创建自己的蓝图文件:

    自定义镜像构建器蓝图示例

    cat > <microshift_blueprint.toml> <<EOF 
    1
    
    name = "<microshift_blueprint>" 
    2
    
    
    description = ""
    version = "0.0.1"
    modules = []
    groups = []
    
    [[packages]]
    name = "microshift"
    version = "4.18.1" 
    3
    
    
    [customizations.services]
    enabled = ["microshift"]
    EOF
    Copy to Clipboard Toggle word wrap

    1
    TOML 文件的名称。
    2
    蓝图的名称。
    3
    替换您想要的版本的值。例如,插入 4.18.1 以下载 MicroShift 4.18.1 RPM。
  2. 可选。使用安装在您的平台架构的 /usr/share/microshift/blueprint 目录中安装的蓝图。有关蓝图部分的说明,请参见以下示例片断:

    生成的镜像构建器蓝图示例片断

    name = "microshift_blueprint"
    description = "MicroShift 4.17.1 on x86_64 platform"
    version = "0.0.1"
    modules = []
    groups = []
    
    [[packages]] 
    1
    
    name = "microshift"
    version = "4.17.1"
    ...
    ...
    
    [customizations.services] 
    2
    
    enabled = ["microshift"]
    
    [customizations.firewall]
    ports = ["22:tcp", "80:tcp", "443:tcp", "5353:udp", "6443:tcp", "30000-32767:tcp", "30000-32767:udp"]
    ...
    ...
    
    [[containers]] 
    3
    
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f41e79c17e8b41f1b0a5a32c3e2dd7cd15b8274554d3f1ba12b2598a347475f4"
    
    [[containers]]
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:dbc65f1fba7d92b36cf7514cd130fe83a9bd211005ddb23a8dc479e0eea645fd"
    ...
    …
    EOF
    Copy to Clipboard Toggle word wrap

    1
    使用与 microshift-release-info RPM 兼容的同一版本,所有非可选 MicroShift RPM 软件包的引用。
    2
    有关在系统引导时自动启用 MicroShift 并应用默认网络设置的引用。
    3
    对离线部署所需的所有非可选 MicroShift 容器镜像的引用。
  3. 运行以下命令,将蓝图添加到镜像构建器中:

    $ sudo composer-cli blueprints push <microshift_blueprint.toml> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint.toml > 替换为 TOML 文件的名称。

验证

  1. 运行以下命令,验证镜像构建器配置只列出 MicroShift 软件包:

    $ sudo composer-cli blueprints depsolve <microshift_blueprint> | grep microshift 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint > 替换为蓝图的名称。

    输出示例

    blueprint: microshift_blueprint v0.0.1
        microshift-greenboot-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.noarch
        microshift-networking-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.x86_64
        microshift-release-info-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.noarch
        microshift-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.x86_64
        microshift-selinux-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.noarch
    Copy to Clipboard Toggle word wrap

  2. 可选:通过运行以下命令验证镜像构建器配置列出了要安装的所有组件:

    $ sudo composer-cli blueprints depsolve <microshift_blueprint> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint > 替换为蓝图的名称。

1.4. 在蓝图中添加其他软件包

将可选 RPM 软件包的引用添加到您的 ostree 蓝图中以启用它们。

先决条件

  • 您创建了镜像构建器蓝图文件。

流程

  1. 运行以下命令来编辑 ostree 蓝图:

    $ vi <microshift_blueprint.toml> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint.toml > 替换为用于 MicroShift 服务的蓝图文件的名称。
  2. 在蓝图中添加以下示例文本:

    [[packages]] 
    1
    
    name = "<microshift-additional-package-name>" 
    2
    
    version = "*"
    Copy to Clipboard Toggle word wrap
    1
    为每个要添加的其他服务包含一个小节。
    2
    <microshift-additional-package-name > 替换为您要包含的服务的 RPM 名称。例如,microshift-olm

后续步骤

  1. 根据需要,将自定义证书颁发机构添加到蓝图中。
  2. 将清单添加到蓝图后,您可以通过构建新的 ostree 系统并在客户端上部署它,将清单应用到活跃集群:

    • 创建 ISO。
    • 添加蓝图并构建 ISO。
    • 下载 ISO 并做好使用准备。
    • 执行所需的任何调配。

1.5. 添加证书颁发机构捆绑包

MicroShift 在客户端评估服务器证书时使用主机信任捆绑包。您还可以使用自定义安全证书链提高端点证书与特定于部署的客户端的兼容性。要做到这一点,您可以将带有 root 和中间证书的证书颁发机构(CA)捆绑包添加到 Red Hat Enterprise Linux for Edge (RHEL for Edge)系统范围的信任存储中。

您可以将其他可信证书颁发机构(CA)添加到 Red Hat Enterprise Linux for Edge (RHEL for Edge) rpm-ostree 镜像,方法是将它们添加到用于创建镜像的蓝图中。使用以下步骤设置在从镜像 registry 中拉取镜像时操作系统信任的额外 CA。

注意

此流程要求您在蓝图中配置 CA 捆绑包自定义,然后在 kickstart 文件中添加步骤以启用该捆绑包。在以下步骤中,data 是键,< value& gt; 代表 PEM 编码的证书。

先决条件

  • 有访问构建主机的 root 用户。
  • 您的构建主机满足镜像构建器系统要求。
  • 已安装并设置镜像构建器和 composer-cli 工具。

流程

  1. 在蓝图中添加以下自定义值来添加目录。

    1. 在构建镜像的主机上添加指令以创建目录,例如: /etc/pki/ca-trust/source/anchors/ 用于您的证书捆绑包。

      [[customizations.directories]]
      path = "/etc/pki/ca-trust/source/anchors"
      Copy to Clipboard Toggle word wrap
    2. 镜像引导后,创建证书捆绑包,例如 /etc/pki/ca-trust/source/anchors/cert1.pem

      [[customizations.files]]
      path = "/etc/pki/ca-trust/source/anchors/cert1.pem"
      data = "<value>"
      Copy to Clipboard Toggle word wrap
  2. 要在系统范围的信任存储配置中启用证书捆绑包,请在您使用的镜像的主机中使用 update-ca-trust 命令,例如:

    $ sudo update-ca-trust
    Copy to Clipboard Toggle word wrap
注意

update-ca-trust 命令可能包含在用于 MicroShift 主机安装的 kickstart 文件的 %post 部分中,以便在第一次引导时都启用所有必要的证书信任。在向 kickstart 文件中添加步骤以启用该捆绑包前,您必须在蓝图中配置 CA 捆绑包自定义。

%post
# Update certificate trust storage in case new certificates were
# installed at /etc/pki/ca-trust/source/anchors directory
update-ca-trust
%end
Copy to Clipboard Toggle word wrap

1.6. 创建 RHEL for Edge 镜像

使用以下步骤创建 ISO。RHEL for Edge Installer 镜像从正在运行的容器拉取提交,并创建一个带有配置为使用嵌入的 rpm-ostree 提交的 Kickstart 文件的可安装的引导 ISO。

先决条件

  • 您的构建主机满足 Image Builder 系统要求。
  • 已安装并设置 Image Builder 和 composer-cli 工具。
  • 您有访问构建主机的 root-user 访问权限。
  • 已安装 podman 工具。

流程

  1. 运行以下命令启动 ostree 容器镜像构建:

    $ BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '{print $2}') 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint > 替换为蓝图的名称。

    此命令还会返回用于监控构建的标识(ID)。

  2. 您可以运行以下命令来定期检查构建的状态:

    $ sudo composer-cli compose status
    Copy to Clipboard Toggle word wrap

    正在运行的构建的输出示例

    ID                                     Status     Time                     Blueprint                 Version   Type               Size
    cc3377ec-4643-4483-b0e7-6b0ad0ae6332   RUNNING    Wed Jun 7 12:26:23 2023  microshift_blueprint      0.0.1     edge-container
    Copy to Clipboard Toggle word wrap

    已完成的构建的输出示例

    ID                                     Status     Time                      Blueprint              Version   Type               Size
    cc3377ec-4643-4483-b0e7-6b0ad0ae6332   FINISHED   Wed Jun 7 12:32:37 2023   microshift_blueprint   0.0.1     edge-container
    Copy to Clipboard Toggle word wrap

    注意

    如果您熟悉如何启动和停止构建,您可以使用 watch 命令来监控您的构建。

  3. 运行以下命令,使用 ID 下载容器镜像并使镜像可供使用:

    $ sudo composer-cli compose image ${BUILDID}
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令,将下载的容器镜像的所有权更改为当前用户:

    $ sudo chown $(whoami). ${BUILDID}-container.tar
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令,将当前用户的读取权限添加到镜像中:

    $ sudo chmod a+r ${BUILDID}-container.tar
    Copy to Clipboard Toggle word wrap
  6. 通过完成以下步骤,在端口 8085 上引导要被 ISO 构建使用的 ostree 容器镜像的服务器:

    1. 运行以下命令来获取 IMAGEID 变量结果:

      $ IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令,使用 IMAGEID 变量结果来执行 podman 命令步骤:

      $ sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}
      Copy to Clipboard Toggle word wrap

      此命令还会返回保存在 IMAGEID 变量中用于监控的容器 ID。

  7. 运行以下命令来生成安装程序蓝图文件:

    cat > microshift-installer.toml <<EOF
    name = "microshift-installer"
    
    description = ""
    version = "0.0.0"
    modules = []
    groups = []
    packages = []
    EOF
    Copy to Clipboard Toggle word wrap

1.7. 将蓝图添加到镜像构建器并构建 ISO

  1. 运行以下命令,将蓝图添加到镜像构建器中:

    $ sudo composer-cli blueprints push microshift-installer.toml
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令启动 ostree ISO 构建:

    $ BUILDID=$(sudo composer-cli compose start-ostree --url http://localhost:8085/repo/ --ref "rhel/9/$(uname -m)/edge" microshift-installer edge-installer | awk '{print $2}')
    Copy to Clipboard Toggle word wrap

    此命令还会返回用于监控构建的标识(ID)。

  3. 您可以运行以下命令来定期检查构建的状态:

    $ sudo composer-cli compose status
    Copy to Clipboard Toggle word wrap

    正在运行的构建的输出示例

    ID                                     Status     Time                      Blueprint              Version   Type               Size
    c793c24f-ca2c-4c79-b5b7-ba36f5078e8d   RUNNING    Wed Jun 7 13:22:20 2023   microshift-installer   0.0.0     edge-installer
    Copy to Clipboard Toggle word wrap

    已完成的构建的输出示例

    ID                                     Status     Time                      Blueprint              Version   Type               Size
    c793c24f-ca2c-4c79-b5b7-ba36f5078e8d   FINISHED   Wed Jun 7 13:34:49 2023   microshift-installer   0.0.0     edge-installer
    Copy to Clipboard Toggle word wrap

1.8. 下载 ISO 并为使用做准备

  1. 运行以下命令,使用 ID 下载 ISO:

    $ sudo composer-cli compose image ${BUILDID}
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,将下载的容器镜像的所有权更改为当前用户:

    $ sudo chown $(whoami). ${BUILDID}-installer.iso
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令,将当前用户的读取权限添加到镜像中:

    $ sudo chmod a+r ${BUILDID}-installer.iso
    Copy to Clipboard Toggle word wrap

1.9. 为 MicroShift 置备机器

使用 RHEL for Edge 文档中的流程置备带有 RHEL for Edge 镜像的机器。

要使用 MicroShift,您必须置备系统,使其满足以下要求:

  • 您调配的计算机必须满足安装 MicroShift 的系统要求。
  • 文件系统必须有一个逻辑卷管理器 (LVM) 卷组 (VG),且对工作负载的持久性卷 (PV) 有足够的容量。
  • Red Hat Hybrid Cloud Console 中的 pull secret 必须显示为 /etc/crio/openshift-pull-secret,并具有 root 用户只读读/写权限。
  • 防火墙必须配置有所需的设置。
注意

如果您使用 Kickstart,如 RHEL for Edge Installer (ISO)镜像,您可以更新 Kickstart 文件来满足置备要求。

先决条件

  1. 您已创建了包含带有 MicroShift 的 RHEL for Edge 提交的 RHEL for Edge Installer (ISO)镜像。

    1. 这个要求包括制作 RFE 容器镜像的步骤、创建 RFE 安装程序蓝图、启动 RFE 容器以及制作 RFE 安装程序镜像。
  2. 创建一个 Kickstart 文件或使用现有的。在 Kickstart 文件中,您必须包括:

    1. 有关如何创建用户的详细信息。
    2. 如何获取和部署 RHEL for Edge 镜像。

如需更多信息,请参阅"附加资源"。

流程

  1. 在 Kickstart 文件的主部分中,更新文件系统的设置,使其包含名为 rhel 的 LVM 卷组,至少有 10GB 系统 root。LVMS CSI 驱动程序保留可用空间,用于存储您的工作负载的数据。

    用于配置文件系统的 kickstart 片段示例

    # Partition disk such that it contains an LVM volume group called `rhel` with a
    # 10GB+ system root but leaving free space for the LVMS CSI driver for storing data.
    #
    # For example, a 20GB disk would be partitioned in the following way:
    #
    # NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    # sda             8:0    0  20G  0 disk
    # ├─sda1          8:1    0 200M  0 part /boot/efi
    # ├─sda1          8:1    0 800M  0 part /boot
    # └─sda2          8:2    0  19G  0 part
    #  └─rhel-root  253:0    0  10G  0 lvm  /sysroot
    #
    ostreesetup --nogpg --osname=rhel --remote=edge \
    --url=file:///run/install/repo/ostree/repo --ref=rhel/<RHEL VERSION NUMBER>/x86_64/edge
    zerombr
    clearpart --all --initlabel
    part /boot/efi --fstype=efi --size=200
    part /boot --fstype=xfs --asprimary --size=800
    # Uncomment this line to add a SWAP partition of the recommended size
    #part swap --fstype=swap --recommended
    part pv.01 --grow
    volgroup rhel pv.01
    logvol / --vgname=rhel --fstype=xfs --size=10000 --name=root
    # To add users, use a line such as the following
    user --name=<YOUR_USER_NAME> \
    --password=<YOUR_HASHED_PASSWORD> \
    --iscrypted --groups=<YOUR_USER_GROUPS>
    Copy to Clipboard Toggle word wrap

  2. 在 Kickstart 文件的 %post 部分中,添加您的 pull secret 和强制防火墙规则。

    添加 pull secret 和防火墙规则的 Kickstart 片断示例

    %post --log=/var/log/anaconda/post-install.log --erroronfail
    
    # Add the pull secret to CRI-O and set root user-only read/write permissions
    cat > /etc/crio/openshift-pull-secret << EOF
    YOUR_OPENSHIFT_PULL_SECRET_HERE
    EOF
    chmod 600 /etc/crio/openshift-pull-secret
    
    # Configure the firewall with the mandatory rules for MicroShift
    firewall-offline-cmd --zone=trusted --add-source=10.42.0.0/16
    firewall-offline-cmd --zone=trusted --add-source=169.254.169.1
    
    %end
    Copy to Clipboard Toggle word wrap

  3. 运行以下命令安装 mkksiso 工具:

    $ sudo yum install -y lorax
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令,使用新的 Kickstart 文件更新 ISO 中的 Kickstart 文件:

    $ sudo mkksiso <your_kickstart>.ks <your_installer>.iso <updated_installer>.iso
    Copy to Clipboard Toggle word wrap

1.10. 如何访问 MicroShift 集群

使用本节中的步骤,通过 OpenShift CLI (oc)访问 MicroShift 集群。

  • 您可以从运行 MicroShift 服务的同一机器或从远程位置访问集群。
  • 您可以使用此访问权限来观察和管理工作负载。
  • 在执行以下步骤时,选择包含您要连接的主机名或 IP 地址的 kubeconfig 文件,并将其放在相关目录中。

1.10.1. 本地访问 MicroShift 集群

使用以下步骤,使用 kubeconfig 文件在本地访问 MicroShift 集群。

先决条件

  • 已安装 oc 二进制文件。

流程

  1. 可选:如果您的 Red Hat Enterprise Linux (RHEL)机器没有 ~/.kube/ 文件夹,请运行以下命令:

    $ mkdir -p ~/.kube/
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,将生成的本地访问 kubeconfig 文件复制到 ~/.kube/ 目录中:

    $ sudo cat /var/lib/microshift/resources/kubeadmin/kubeconfig > ~/.kube/config
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令更新 ~/.kube/config 文件的权限:

    $ chmod go-r ~/.kube/config
    Copy to Clipboard Toggle word wrap

验证

  • 输入以下命令验证 MicroShift 是否正在运行:

    $ oc get all -A
    Copy to Clipboard Toggle word wrap

1.10.2. 打开防火墙以远程访问 MicroShift 集群

使用以下步骤打开防火墙,以便远程用户可以访问 MicroShift 集群。必须在 workstation 用户可以访问集群前完成此步骤。

对于此过程,user@microshift 是 MicroShift 主机上的用户,负责设置该机器,使其可以被单独的工作站上的远程用户访问。

先决条件

  • 已安装 oc 二进制文件。
  • 您的帐户具有集群管理特权。

流程

  • 在 MicroShift 主机上以 user@microshift 的身份,运行以下命令来打开 Kubernetes API 服务器的防火墙端口 (6443/tcp):

    [user@microshift]$ sudo firewall-cmd --permanent --zone=public --add-port=6443/tcp && sudo firewall-cmd --reload
    Copy to Clipboard Toggle word wrap

验证

  • user@microshift 的身份,输入以下命令验证 MicroShift 是否正在运行:

    [user@microshift]$ oc get all -A
    Copy to Clipboard Toggle word wrap

1.10.3. 远程访问 MicroShift 集群

使用以下步骤,使用 kubeconfig 文件从远程位置访问 MicroShift 集群。

user@workstation 登录用于远程访问主机计算机。该流程中的 <user> 值是 user@workstation 登录到 MicroShift 主机所使用的用户名。

先决条件

  • 已安装 oc 二进制文件。
  • user@microshift 已打开来自本地主机的防火墙。

流程

  1. user@workstation 的身份,如果 Red Hat Enterprise Linux (RHEL)机器没有,使用以下命令创建一个 ~/.kube/ 文件夹:

    [user@workstation]$ mkdir -p ~/.kube/
    Copy to Clipboard Toggle word wrap
  2. user@workstation 的身份,运行以下命令来为您的 MicroShift 主机的主机名设置变量:

    [user@workstation]$ MICROSHIFT_MACHINE=<name or IP address of MicroShift machine>
    Copy to Clipboard Toggle word wrap
  3. user@workstation 的身份,运行以下命令来复制生成的 kubeconfig 文件,该文件包含您要从运行 MicroShift 的 RHEL 机器连接到本地机器的主机名或 IP 地址:

    [user@workstation]$ ssh <user>@$MICROSHIFT_MACHINE "sudo cat /var/lib/microshift/resources/kubeadmin/$MICROSHIFT_MACHINE/kubeconfig" > ~/.kube/config
    Copy to Clipboard Toggle word wrap
    注意

    要为此步骤生成 kubeconfig 文件,请参阅为远程访问生成额外的 kubeconfig 文件

  4. user@workstation 的身份,运行以下命令来更新 ~/.kube/config 文件的权限:

    $ chmod go-r ~/.kube/config
    Copy to Clipboard Toggle word wrap

验证

  • user@workstation 的身份,输入以下命令验证 MicroShift 是否正在运行:

    [user@workstation]$ oc get all -A
    Copy to Clipboard Toggle word wrap

第 2 章 为断开连接的安装 mirror 容器镜像

在断开连接的网络中部署 MicroShift 时,您可以使用自定义容器 registry。可以在没有直接互联网连接的受限网络中运行集群,方法是从私有 registry 中的镜像的容器镜像安装集群。

2.1. 将容器镜像镜像到现有 registry 中

使用自定义 air-gapped 容器 registry 或镜像(mirror)是某些用户环境和工作负载要求所必需的。镜像功能允许向 air-gapped 环境传输容器镜像和更新,可在 MicroShift 实例上安装它们。

要为 MicroShift 容器创建 air-gapped 镜像 registry,您必须完成以下步骤:

  • 获取要镜像的容器镜像列表。
  • 配置镜像先决条件。
  • 在可访问互联网的主机上下载镜像。
  • 将下载的镜像目录复制到 air-gapped 站点。
  • 将镜像上传到 air-gapped 站点中的镜像 registry。
  • 将 MicroShift 主机配置为使用镜像 registry。

2.2. 获取镜像 registry 容器镜像列表

要使用镜像 registry,您必须知道哪些容器镜像引用由 MicroShift 的特定版本使用。这些引用在作为 microshift -release-info RPM 软件包一部分的 release-<arch>.json 文件中提供。

注意

要在断开连接的环境中镜像 Operator Lifecycle Manager (OLM),请添加 release-olm-$ARCH.json 中提供的引用,该引用包含在 microshift-olm RPM 中,并按照相同的流程操作。使用 oc-mirror 来镜像 Operator 目录和 Operator。

先决条件

  • 已安装 jq。

流程

  1. 使用以下方法之一访问容器镜像引用列表:

    • 如果在 MicroShift 主机上安装了软件包,请运行以下命令获取文件的位置:

      $ rpm -ql microshift-release-info
      Copy to Clipboard Toggle word wrap

      输出示例

      /usr/share/microshift/release/release-x86_64.json
      Copy to Clipboard Toggle word wrap

    • 如果 MicroShift 主机上没有安装该软件包,请运行以下命令在不安装 RPM 软件包的情况下下载并解包 RPM 软件包:

      $ rpm2cpio microshift-release-info*.noarch.rpm | cpio -idmv
      Copy to Clipboard Toggle word wrap

      输出示例

      /usr/share/microshift/release/release-x86_64.json
      Copy to Clipboard Toggle word wrap

  2. 运行以下命令,将容器镜像列表提取到 microshift-container-refs.txt 文件中:

    $ RELEASE_FILE=/usr/share/microshift/release/release-$(uname -m).json
    Copy to Clipboard Toggle word wrap
    $ jq -r '.images | .[]' ${RELEASE_FILE} > microshift-container-refs.txt
    Copy to Clipboard Toggle word wrap
注意

使用 MicroShift 容器镜像列表创建 microshift-container-refs.txt 文件后,您可以在运行镜像步骤前附加文件与其他特定于用户的镜像引用。

2.3. 配置镜像先决条件

您必须创建一个容器镜像 registry 凭证文件,该文件允许从互联网连接的镜像镜像到您的 air-gapped 镜像。按照"配置凭证"部分中提供的镜像"添加资源"链接中的说明进行操作。这些说明指导您在镜像 registry 主机上创建 ~/.pull-secret-mirror.json 文件,其中包含用于访问镜像的用户凭证。

2.3.1. mirror registry pull secret 条目示例

例如,以下部分添加到 microshift_quay:8443 镜像 registry 的 pull secret 文件中,该文件使用 microshift:microshift 作为用户名和密码。

pull secret 文件的 mirror registry 部分示例

"<microshift_quay:8443>": { 
1

    "auth": "<microshift_auth>", 
2

    "email": "<microshift_quay@example.com>" 
3

},
Copy to Clipboard Toggle word wrap

1
将 & lt;registry_host>:<port > 值 microshift_quay:8443 替换为镜像 registry 服务器的主机名和端口。
2
将 & lt;microshift_auth > 值替换为用户密码。
3
将 & lt;/microshift_quay@example.com > 值替换为用户电子邮件。

2.4. 下载容器镜像

找到容器列表并完成镜像先决条件后,将容器镜像下载到具有互联网访问的主机。

先决条件

  • 通过访问互联网登录到主机。
  • 您已确保 .pull-secret-mirror.json 文件和 microshift-containers 目录的内容在本地可用。

流程

  1. 运行以下命令,安装用于复制容器镜像的 skopeo 工具:

    $ sudo dnf install -y skopeo
    Copy to Clipboard Toggle word wrap
  2. 设置指向 pull secret 文件的环境变量:

    $ PULL_SECRET_FILE=~/.pull-secret-mirror.json
    Copy to Clipboard Toggle word wrap
  3. 设置指向容器镜像列表的环境变量:

    $ IMAGE_LIST_FILE=~/microshift-container-refs.txt
    Copy to Clipboard Toggle word wrap
  4. 设置指向用于存储下载数据的目标目录的环境变量:

    $ IMAGE_LOCAL_DIR=~/microshift-containers
    Copy to Clipboard Toggle word wrap
  5. 运行以下脚本,将容器镜像下载到 ${IMAGE_LOCAL_DIR} 目录中:

    while read -r src_img ; do
       # Remove the source registry prefix
       dst_img=$(echo "${src_img}" | cut -d '/' -f 2-)
    
       # Run the image download command
       echo "Downloading '${src_img}' to '${IMAGE_LOCAL_DIR}'"
       mkdir -p "${IMAGE_LOCAL_DIR}/${dst_img}"
       skopeo copy --all --quiet \
          --preserve-digests \
          --authfile "${PULL_SECRET_FILE}" \
          docker://"${src_img}" dir://"${IMAGE_LOCAL_DIR}/${dst_img}"
    
    done < "${IMAGE_LIST_FILE}"
    Copy to Clipboard Toggle word wrap
  6. 将镜像集传送到目标环境,如 air-gapped 站点。然后,您可以将镜像集上传到镜像 registry 中。

2.5. 将容器镜像上传到镜像 registry

要在 air-gapped 站点中使用容器镜像,请按照以下步骤将其上传到镜像 registry。

先决条件

  • 通过访问 microshift-quay 登录主机。
  • .pull-secret-mirror.json 文件在本地可用。
  • microshift-containers 目录内容在本地可用。

流程

  1. 运行以下命令,安装用于复制容器镜像的 skopeo 工具:

    $ sudo dnf install -y skopeo
    Copy to Clipboard Toggle word wrap
  2. 设置指向 pull secret 文件的环境变量:

    $ IMAGE_PULL_FILE=~/.pull-secret-mirror.json
    Copy to Clipboard Toggle word wrap
  3. 设置指向本地容器镜像目录的环境变量:

    $ IMAGE_LOCAL_DIR=~/microshift-containers
    Copy to Clipboard Toggle word wrap
  4. 设置指向镜像 registry URL 的环境变量,以上传容器镜像:

    $ TARGET_REGISTRY=<registry_host>:<port> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <registry_host>:<port> 替换为镜像 registry 服务器的主机名和端口。
  5. 运行以下脚本,将容器镜像上传到 ${TARGET_REGISTRY} 镜像 registry:

    image_tag=mirror-$(date +%y%m%d%H%M%S)
    image_cnt=1
       # Uses timestamp and counter as a tag on the target images to avoid
       # their overwrite by the 'latest' automatic tagging
    
    pushd "${IMAGE_LOCAL_DIR}" >/dev/null
    while read -r src_manifest ; do
       # Remove the manifest.json file name
       src_img=$(dirname "${src_manifest}")
       # Add the target registry prefix and remove SHA
       dst_img="${TARGET_REGISTRY}/${src_img}"
       dst_img=$(echo "${dst_img}" | awk -F'@' '{print $1}')
    
       # Run the image upload command
       echo "Uploading '${src_img}' to '${dst_img}'"
       skopeo copy --all --quiet \
          --preserve-digests \
          --authfile "${IMAGE_PULL_FILE}" \
          dir://"${IMAGE_LOCAL_DIR}/${src_img}" docker://"${dst_img}:${image_tag}-${image_cnt}"
       # Increment the counter
       (( image_cnt += 1 ))
    
    done < <(find . -type f -name manifest.json -printf '%P\n')
    popd >/dev/null
    Copy to Clipboard Toggle word wrap

2.6. 配置主机以进行镜像 registry 访问

要将 MicroShift 主机配置为使用镜像 registry,您必须通过创建一个配置文件来将红帽 registry 主机名映射到镜像(mirror)来提供 MicroShift 主机对 registry 的访问。

先决条件

  • 您的镜像主机可访问互联网。
  • 镜像主机可以访问镜像 registry。
  • 您已配置了镜像 registry 以在受限网络中使用。
  • 您下载了 pull secret,并将其修改为包含镜像存储库的身份验证。

流程

  1. 登录到您的 MicroShift 主机。
  2. 通过完成以下步骤,在访问镜像 registry 的任何主机上启用 SSL 证书信任:

    1. rootCA.pem 文件从镜像 registry (如 < registry_path>/quay-rootCA )复制到 /etc/pki/ca-trust/source/anchors 目录中的 MicroShift 主机。
    2. 运行以下命令,在系统范围的信任存储配置中启用证书:

      $ sudo update-ca-trust
      Copy to Clipboard Toggle word wrap
  3. 创建 /etc/containers/registries.conf.d/999-microshift-mirror.conf 配置文件,将红帽 registry 主机名映射到镜像 registry:

    镜像配置文件示例

    [[registry]]
        prefix = ""
        location = "<registry_host>:<port>" 
    1
    
        mirror-by-digest-only = true
        insecure = false
    
    [[registry]]
        prefix = ""
        location = "quay.io"
        mirror-by-digest-only = true
    [[registry.mirror]]
        location = "<registry_host>:<port>"
        insecure = false
    
    [[registry]]
        prefix = ""
        location = "registry.redhat.io"
        mirror-by-digest-only = true
    [[registry.mirror]]
        location = "<registry_host>:<port>"
        insecure = false
    
    [[registry]]
        prefix = ""
        location = "registry.access.redhat.com"
        mirror-by-digest-only = true
    [[registry.mirror]]
        location = "<registry_host>:<port>"
        insecure = false
    Copy to Clipboard Toggle word wrap

    1
    <registry_host>:<port > 替换为镜像 registry 服务器的主机名和端口,例如 < microshift-quay:8443 >。
  4. 运行以下命令来启用 MicroShift 服务:

    $ sudo systemctl enable microshift
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令来重启主机:

    $ sudo reboot
    Copy to Clipboard Toggle word wrap

rpm-ostree 提交中嵌入 MicroShift 容器意味着您可以在 air-gapped、断开连接或离线环境中运行集群。您可以在 Red Hat Enterprise Linux for Edge (RHEL for Edge)镜像中嵌入 MicroShift 容器,以便容器引擎不需要从容器 registry 通过网络拉取镜像。工作负载可以在不网络连接的情况下立即启动。

3.1. 为离线部署嵌入 MicroShift 容器

您可以使用镜像构建器创建带有嵌入式 MicroShift 容器镜像的 rpm-ostree 系统镜像。要嵌入容器镜像,您必须将镜像引用添加到镜像构建器蓝图中。

先决条件

  • 您有访问构建主机的 root-user 访问权限。
  • 您的构建主机满足镜像构建器系统要求。
  • 已安装并设置镜像构建器和 composer-cli 工具。
  • 您已创建了 RHEL for Edge 镜像蓝图。
  • 已安装 jq。

流程

  1. 获取您要部署的 MicroShift 版本使用的容器镜像引用列表。您可以按照以下步骤 2 来安装 microshift-release-info RPM 软件包,或按照以下步骤下载并解包 RPM。
  2. 安装 microshift-release-info RPM 软件包:

    1. 运行以下命令安装 microshift-release-info RPM 软件包:

      $ sudo dnf install -y microshift-release-info-<release_version>
      Copy to Clipboard Toggle word wrap

      使用整个版本号(如 4.18.1 )将 < release_version > 替换为您要部署的发行版本的数字值。

    2. 运行以下命令,列出 /usr/share/microshift/release 目录的内容,以验证发行信息文件是否存在:

      $ ls /usr/share/microshift/release
      Copy to Clipboard Toggle word wrap

      输出示例

      release-x86_64.json
      release-aarch64.json
      Copy to Clipboard Toggle word wrap

      如果安装了 microshift-release-info RPM,您可以继续第 4 步。

  3. 如果您没有完成第 2 步,请下载并解包 microshift-release-info RPM,而不安装它:

    1. 运行以下命令来下载 RPM 软件包:

      $ sudo dnf download microshift-release-info-<release_version>
      Copy to Clipboard Toggle word wrap

      使用整个版本号(如 4.18.1 )将 < release_version > 替换为您要部署的发行版本的数字值。

      rpm 示例

      microshift-release-info-4.18.1.*.el9.noarch.rpm 
      1
      Copy to Clipboard Toggle word wrap

      1
      * 代表日期和时间 ID。您的输出应同时包含,如 -202511101230.p0.g7dc6a00.assembly.4.18.1
    2. 运行以下命令解包 RPM 软件包而不安装它:

      $ rpm2cpio <my_microshift_release_info> | cpio -idmv 
      1
      
      ./usr/share/microshift/release/release-aarch64.json
      ./usr/share/microshift/release/release-x86_64.json
      Copy to Clipboard Toggle word wrap
      1
      <my_microshift_release_info > 替换为上一步中的 RPM 软件包的名称。
  4. 运行以下命令,定义包含容器引用信息的 JSON 文件的位置:

    $ RELEASE_FILE=</path/to/your/release-$(uname -m).json>
    Copy to Clipboard Toggle word wrap

    </path/to/your/release-$(uname -m).json > 替换为 JSON 文件的完整路径。请务必使用您的架构所需的文件。

  5. 运行以下命令,定义 TOML 文件的位置,其中包含构建镜像的说明:

    $ BLUEPRINT_FILE=</path/to/your/blueprint.toml>
    Copy to Clipboard Toggle word wrap

    </path/to/your/blueprint.toml > 替换为 JSON 文件的完整路径。

  6. 运行以下命令,生成并嵌入蓝图 TOML 文件中的容器镜像引用:

    $  jq -r '.images | .[] | ("[[containers]]\nsource = \"" + . + "\"\n")' "${RELEASE_FILE}" >> "${BLUEPRINT_FILE}"
    Copy to Clipboard Toggle word wrap

    显示容器引用的 <my_blueprint.toml > 片段示例

    [[containers]]
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db"
    
    [[containers]]
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:82cfef91557f9a70cff5a90accba45841a37524e9b93f98a97b20f6b2b69e5db"
    Copy to Clipboard Toggle word wrap

  7. 您可以使用以下示例将其添加到镜像构建器蓝图中手动嵌入任何容器镜像:

    将容器镜像手动嵌入到镜像构建器的示例

    [[containers]]
    source = "<my_image_pullspec_with_tag_or_digest>"
    Copy to Clipboard Toggle word wrap

    <my_image_pullspec_with_tag_or_digest > 替换为您要部署的 MicroShift 版本所使用的容器镜像的确切引用。

3.2. 更新 osbuilder worker 配置以准备镜像构建

更新蓝图后,您必须更新 osbuilder worker 配置,以准备使用嵌入式 MicroShift 容器构建镜像。

先决条件

  • 您有访问构建主机的 root-user 访问权限。
  • 您的构建主机满足 Image Builder 系统要求。
  • 已安装并设置 Image Builder 和 composer-cli 工具。
注意

如果 /etc/osbuild-worker/osbuild-worker.toml 目录和配置文件不存在,您可以创建 /etc/osbuild-worker/osbuild-worker.toml 目录和配置文件。

流程

  1. 通过在 /etc/osbuild-worker/osbuild-worker.toml osbuilder worker 配置文件的 [containers] 部分中设置 auth_file_path 来添加用于向 registry 进行身份验证的 pull secret:

    [containers]
    auth_file_path = "/etc/osbuild-worker/pull-secret.json"
    Copy to Clipboard Toggle word wrap
  2. 重启 osbuild-worker,以通过重启主机来应用配置更改。重启主机可确保当前运行的所有 osbuild-worker 服务都已重启。

3.3. 构建并使用 rpm-ostree 镜像进行离线部署

您可以使用镜像构建器创建带有嵌入式 MicroShift 容器镜像的 rpm-ostree 系统镜像。要嵌入容器镜像,您必须将镜像引用添加到镜像构建器蓝图中。您可以根据您的用例需要创建提交和 ISO。

将此处列出的先决条件添加到以下流程中包含的先决条件中。

3.3.1. 离线部署的额外先决条件

  • 您已创建了并更新了 RHEL for Edge 镜像蓝图以供离线使用。以下流程使用通过容器镜像创建的蓝图示例。您必须使用在 "Embedding MicroShift 容器中为离线部署"中创建的更新的蓝图。
  • 您已更新了 /etc/osbuild-worker/osbuild-worker.toml 配置文件,以离线使用。
重要

将以下流程中的 minimal-microshift.toml 替换为您更新的 TOML 的名称,以便离线使用 <my_blueprint_name>。

3.3.2. 将 MicroShift 服务添加到蓝图中

将 MicroShift RPM 软件包添加到镜像构建器蓝图中可启用使用 MicroShift 嵌入的 RHEL for Edge 镜像构建。

  • 从第 1 步开始,创建自己的最小蓝图文件,从而加快 MicroShift 安装的速度。
  • 从第 2 步开始,使用生成的蓝图进行安装,其中包括所有 RPM 软件包和容器镜像。这是一个较长的安装过程,但启动速度会加快,因为容器引用在本地访问。

    重要
    • 将以下流程中的 < microshift_blueprint.toml > 替换为您要使用的 TOML 文件的名称。
    • 将以下流程中的 & lt;microshift_blueprint > 替换为您要用于蓝图的名称。

流程

  1. 使用以下示例创建自己的蓝图文件:

    自定义镜像构建器蓝图示例

    cat > <microshift_blueprint.toml> <<EOF 
    1
    
    name = "<microshift_blueprint>" 
    2
    
    
    description = ""
    version = "0.0.1"
    modules = []
    groups = []
    
    [[packages]]
    name = "microshift"
    version = "4.18.1" 
    3
    
    
    [customizations.services]
    enabled = ["microshift"]
    EOF
    Copy to Clipboard Toggle word wrap

    1
    TOML 文件的名称。
    2
    蓝图的名称。
    3
    替换您想要的版本的值。例如,插入 4.18.1 以下载 MicroShift 4.18.1 RPM。
  2. 可选。使用安装在您的平台架构的 /usr/share/microshift/blueprint 目录中安装的蓝图。有关蓝图部分的说明,请参见以下示例片断:

    生成的镜像构建器蓝图示例片断

    name = "microshift_blueprint"
    description = "MicroShift 4.17.1 on x86_64 platform"
    version = "0.0.1"
    modules = []
    groups = []
    
    [[packages]] 
    1
    
    name = "microshift"
    version = "4.17.1"
    ...
    ...
    
    [customizations.services] 
    2
    
    enabled = ["microshift"]
    
    [customizations.firewall]
    ports = ["22:tcp", "80:tcp", "443:tcp", "5353:udp", "6443:tcp", "30000-32767:tcp", "30000-32767:udp"]
    ...
    ...
    
    [[containers]] 
    3
    
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:f41e79c17e8b41f1b0a5a32c3e2dd7cd15b8274554d3f1ba12b2598a347475f4"
    
    [[containers]]
    source = "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:dbc65f1fba7d92b36cf7514cd130fe83a9bd211005ddb23a8dc479e0eea645fd"
    ...
    …
    EOF
    Copy to Clipboard Toggle word wrap

    1
    使用与 microshift-release-info RPM 兼容的同一版本,所有非可选 MicroShift RPM 软件包的引用。
    2
    有关在系统引导时自动启用 MicroShift 并应用默认网络设置的引用。
    3
    对离线部署所需的所有非可选 MicroShift 容器镜像的引用。
  3. 运行以下命令,将蓝图添加到镜像构建器中:

    $ sudo composer-cli blueprints push <microshift_blueprint.toml> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint.toml > 替换为 TOML 文件的名称。

验证

  1. 运行以下命令,验证镜像构建器配置只列出 MicroShift 软件包:

    $ sudo composer-cli blueprints depsolve <microshift_blueprint> | grep microshift 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint > 替换为蓝图的名称。

    输出示例

    blueprint: microshift_blueprint v0.0.1
        microshift-greenboot-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.noarch
        microshift-networking-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.x86_64
        microshift-release-info-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.noarch
        microshift-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.x86_64
        microshift-selinux-4.17.1-202305250827.p0.g4105d3b.assembly.4.17.1.el9.noarch
    Copy to Clipboard Toggle word wrap

  2. 可选:通过运行以下命令验证镜像构建器配置列出了要安装的所有组件:

    $ sudo composer-cli blueprints depsolve <microshift_blueprint> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint > 替换为蓝图的名称。

3.3.3. 创建 RHEL for Edge 镜像

使用以下步骤创建 ISO。RHEL for Edge Installer 镜像从正在运行的容器拉取提交,并创建一个带有配置为使用嵌入的 rpm-ostree 提交的 Kickstart 文件的可安装的引导 ISO。

先决条件

  • 您的构建主机满足 Image Builder 系统要求。
  • 已安装并设置 Image Builder 和 composer-cli 工具。
  • 您有访问构建主机的 root-user 访问权限。
  • 已安装 podman 工具。

流程

  1. 运行以下命令启动 ostree 容器镜像构建:

    $ BUILDID=$(sudo composer-cli compose start-ostree --ref "rhel/{op-system-version-major}/$(uname -m)/edge" <microshift_blueprint> edge-container | awk '{print $2}') 
    1
    Copy to Clipboard Toggle word wrap
    1
    <microshift_blueprint > 替换为蓝图的名称。

    此命令还会返回用于监控构建的标识(ID)。

  2. 您可以运行以下命令来定期检查构建的状态:

    $ sudo composer-cli compose status
    Copy to Clipboard Toggle word wrap

    正在运行的构建的输出示例

    ID                                     Status     Time                     Blueprint                 Version   Type               Size
    cc3377ec-4643-4483-b0e7-6b0ad0ae6332   RUNNING    Wed Jun 7 12:26:23 2023  microshift_blueprint      0.0.1     edge-container
    Copy to Clipboard Toggle word wrap

    已完成的构建的输出示例

    ID                                     Status     Time                      Blueprint              Version   Type               Size
    cc3377ec-4643-4483-b0e7-6b0ad0ae6332   FINISHED   Wed Jun 7 12:32:37 2023   microshift_blueprint   0.0.1     edge-container
    Copy to Clipboard Toggle word wrap

    注意

    如果您熟悉如何启动和停止构建,您可以使用 watch 命令来监控您的构建。

  3. 运行以下命令,使用 ID 下载容器镜像并使镜像可供使用:

    $ sudo composer-cli compose image ${BUILDID}
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令,将下载的容器镜像的所有权更改为当前用户:

    $ sudo chown $(whoami). ${BUILDID}-container.tar
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令,将当前用户的读取权限添加到镜像中:

    $ sudo chmod a+r ${BUILDID}-container.tar
    Copy to Clipboard Toggle word wrap
  6. 通过完成以下步骤,在端口 8085 上引导要被 ISO 构建使用的 ostree 容器镜像的服务器:

    1. 运行以下命令来获取 IMAGEID 变量结果:

      $ IMAGEID=$(cat < "./${BUILDID}-container.tar" | sudo podman load | grep -o -P '(?<=sha256[@:])[a-z0-9]*')
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令,使用 IMAGEID 变量结果来执行 podman 命令步骤:

      $ sudo podman run -d --name=minimal-microshift-server -p 8085:8080 ${IMAGEID}
      Copy to Clipboard Toggle word wrap

      此命令还会返回保存在 IMAGEID 变量中用于监控的容器 ID。

  7. 运行以下命令来生成安装程序蓝图文件:

    cat > microshift-installer.toml <<EOF
    name = "microshift-installer"
    
    description = ""
    version = "0.0.0"
    modules = []
    groups = []
    packages = []
    EOF
    Copy to Clipboard Toggle word wrap

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat