7.3. Bootstrap 虚拟机问题


OpenShift Container Platform 安装程序生成 bootstrap 节点虚拟机,该虚拟机处理置备 OpenShift Container Platform 集群节点。

流程

  1. 触发安装程序后大约 10 到 15 分钟,使用 virsh 命令检查 bootstrap 虚拟机是否正常工作:

    $ sudo virsh list
    Copy to Clipboard Toggle word wrap
     Id    Name                           State
     --------------------------------------------
     12    openshift-xf6fq-bootstrap      running
    Copy to Clipboard Toggle word wrap
    注意

    bootstrap 虚拟机的名称始终是集群名称,后跟一组随机字符,并以"bootstrap"结尾。

    如果 bootstrap 虚拟机在 10-15 分钟后没有运行,请对它进行故障排除。可能的问题包括:

  2. 验证 libvirtd 是否在系统中运行:

    $ systemctl status libvirtd
    Copy to Clipboard Toggle word wrap
    ● libvirtd.service - Virtualization daemon
       Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
       Active: active (running) since Tue 2020-03-03 21:21:07 UTC; 3 weeks 5 days ago
         Docs: man:libvirtd(8)
               https://libvirt.org
     Main PID: 9850 (libvirtd)
        Tasks: 20 (limit: 32768)
       Memory: 74.8M
       CGroup: /system.slice/libvirtd.service
               ├─ 9850 /usr/sbin/libvirtd
    Copy to Clipboard Toggle word wrap

    如果 bootstrap 虚拟机可以正常工作,请登录它。

  3. 使用 virsh console 命令查找 bootstrap 虚拟机的 IP 地址:

    $ sudo virsh console example.com
    Copy to Clipboard Toggle word wrap
    Connected to domain example.com
    Escape character is ^]
    Red Hat Enterprise Linux CoreOS 43.81.202001142154.0 (Ootpa) 4.3
    SSH host key: SHA256:BRWJktXZgQQRY5zjuAV0IKZ4WM7i4TiUyMVanqu9Pqg (ED25519)
    SSH host key: SHA256:7+iKGA7VtG5szmk2jB5gl/5EZ+SNcJ3a2g23o0lnIio (ECDSA)
    SSH host key: SHA256:DH5VWhvhvagOTaLsYiVNse9ca+ZSW/30OOMed8rIGOc (RSA)
    ens3:  fd35:919d:4042:2:c7ed:9a9f:a9ec:7
    ens4: 172.22.0.2 fe80::1d05:e52e:be5d:263f
    localhost login:
    Copy to Clipboard Toggle word wrap
    重要

    当在没有 provisioning 网络的情况下部署 OpenShift Container Platform 集群时,您必须使用公共 IP 地址,而不是专用 IP 地址,如 172.22.0.2

  4. 获取 IP 地址后,使用 ssh 命令登录到 bootstrap 虚拟机:

    注意

    在上一步的控制台输出中,您可以使用 ens3 提供的 IPv6 IP 地址或 ens 4 提供的 IPv4 IP 地址

    $ ssh core@172.22.0.2
    Copy to Clipboard Toggle word wrap

如果您无法成功登录 bootstrap 虚拟机,您可能会遇到以下情况之一:

  • 您无法访问 172.22.0.0/24 网络。验证 provisioner 和 provisioning 网桥之间的网络连接。如果您使用 provisioning 网络,则可能会出现此问题。'
  • 您无法通过公共网络访问 bootstrap 虚拟机。当尝试 SSH via baremetal 网络 时,验证 provisioner 主机上的连接情况,特别是 baremetal 网桥的连接。
  • 您遇到了 Permission denied(publickey,password,keyboard-interactive) 的问题。当尝试访问 bootstrap 虚拟机时,可能会出现 Permission denied 错误。验证尝试登录到虚拟机的用户的 SSH 密钥是否在 install-config.yaml 文件中设置。

7.3.1. Bootstrap 虚拟机无法引导集群节点

在部署过程中,bootstrap 虚拟机可能无法引导集群节点,这会阻止虚拟机使用 RHCOS 镜像置备节点。这可能是因为以下原因:

  • install-config.yaml 文件存在问题。
  • 使用 baremetal 网络时出现带外网络访问的问题。

要验证这个问题,有三个与 ironic 相关的容器:

  • ironic
  • ironic-inspector

流程

  1. 登录到 bootstrap 虚拟机:

    $ ssh core@172.22.0.2
    Copy to Clipboard Toggle word wrap
  2. 要检查容器日志,请执行以下操作:

    [core@localhost ~]$ sudo podman logs -f <container_name>
    Copy to Clipboard Toggle word wrap

    <container_name> 替换为 ironicironic-inspector 之一。如果您遇到 control plane 节点没有从 PXE 引导的问题,请检查 ironic pod。ironic pod 包含有关尝试引导集群节点的信息,因为它尝试通过 IPMI 登录节点。

潜在原因

集群节点在部署启动时可能处于 ON 状态。

解决方案

在通过 IPMI 开始安装前关闭 OpenShift Container Platform 集群节点:

$ ipmitool -I lanplus -U root -P <password> -H <out_of_band_ip> power off
Copy to Clipboard Toggle word wrap

7.3.2. 检查日志

在下载或访问 RHCOS 镜像时,首先验证 install-config.yaml 配置文件中的 URL 是否正确。

内部 webserver 托管 RHCOS 镜像的示例

bootstrapOSImage: http://<ip:port>/rhcos-43.81.202001142154.0-qemu.<architecture>.qcow2.gz?sha256=9d999f55ff1d44f7ed7c106508e5deecd04dc3c06095d34d36bf1cd127837e0c
clusterOSImage: http://<ip:port>/rhcos-43.81.202001142154.0-openstack.<architecture>.qcow2.gz?sha256=a1bda656fa0892f7b936fdc6b6a6086bddaed5dafacedcd7a1e811abb78fe3b0
Copy to Clipboard Toggle word wrap

coreos-downloader 容器从 webserver 或外部 quay.io registry 下载资源(由 install-config.yaml 配置文件指定)。验证 coreos-downloader 容器是否正在运行,并根据需要检查其日志。

流程

  1. 登录到 bootstrap 虚拟机:

    $ ssh core@172.22.0.2
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,检查 bootstrap 虚拟机中的 coreos-downloader 容器的状态:

    [core@localhost ~]$ sudo podman logs -f coreos-downloader
    Copy to Clipboard Toggle word wrap

    如果 bootstrap 虚拟机无法访问镜像的 URL,请使用 curl 命令验证虚拟机是否可以访问镜像。

  3. 要检查 bootkube 日志,以指示部署阶段是否启动了所有容器,请执行以下操作:

    [core@localhost ~]$ journalctl -xe
    Copy to Clipboard Toggle word wrap
    [core@localhost ~]$ journalctl -b -f -u bootkube.service
    Copy to Clipboard Toggle word wrap
  4. 验证包括 dnsmasq、mariadbhttpd ironic 等所有 pod 都在运行:

    [core@localhost ~]$ sudo podman ps
    Copy to Clipboard Toggle word wrap
  5. 如果 pod 存在问题,请检查有问题的容器日志。要检查 ironic 服务的日志,请运行以下命令:

    [core@localhost ~]$ sudo podman logs ironic
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat