搜索

2.3. 使用命令行部署工作负载

download PDF

您可以使用命令行部署 OpenShift 沙盒容器工作负载。

2.3.1. 创建 KataConfig 自定义资源

您必须创建一个 KataConfig 自定义资源(CR)来作为 worker 节点上的运行时类安装 kata

创建 KataConfig CR 会触发 OpenShift 沙盒容器 Operator 来执行以下操作:

  • 在 RHCOS 节点上安装所需的 RHCOS 扩展,如 QEMU 和 kata-containers
  • 确保 CRI-O 运行时配置了正确的运行时处理程序。
  • 使用默认配置创建一个名为 kataRuntimeClass CR。这可让用户在 RuntimeClassName 字段中引用 CR 将工作负载配置为使用 kata 作为运行时。此 CR 也指定运行时的资源开销。

OpenShift 沙盒容器将 kata 作为集群中的辅助 可选运行时安装,而不是作为主要运行时。

重要

创建 KataConfig CR 会自动重启 worker 节点。重启可能需要 10 到 60 分钟。妨碍重启时间的因素如下:

  • 带有更多 worker 节点的大型 OpenShift Container Platform 部署。
  • 激活 BIOS 和 Diagnostics 实用程序。
  • 在硬盘而不是 SSD 上部署。
  • 在物理节点上部署,如裸机,而不是在虚拟节点上部署。
  • CPU 和网络较慢。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 可选:如果要启用节点资格检查,已安装了 Node Feature Discovery Operator。

流程

  1. 根据以下示例创建 cluster-kataconfig.yaml 清单文件:

    apiVersion: kataconfiguration.openshift.io/v1
    kind: KataConfig
    metadata:
      name: cluster-kataconfig
    spec:
      checkNodeEligibility: false 1
      logLevel: info
    1
    可选:将'checkNodeEligibility' 设置为 true 以运行节点资格检查。
  2. 可选: 要在所选节点上安装 kata,请按照以下示例指定节点标签:

    apiVersion: kataconfiguration.openshift.io/v1
    kind: KataConfig
    metadata:
      name: cluster-kataconfig
    spec:
      kataConfigPoolSelector:
        matchLabels:
          <label_key>: '<label_value>' 1
    # ...
    1
    指定所选节点的标签。
  3. 创建 KataConfig CR:

    $ oc create -f cluster-kataconfig.yaml

    新的 KataConfig CR 会被创建,并在 worker 节点上作为运行时类安装 kata

    在验证安装前,等待 kata 安装完成,以及 worker 节点重新引导。

验证

  • 运行以下命令监控安装进度:

    $ watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"

    当安装 kataNodes 下的所有 worker 的状态并且条件 InProgressFalse 时,如果没有指定原因,则会在集群中安装 kata

详情请参阅 KataConfig 状态信息

2.3.2. 配置工作负载对象

您可以通过将 kata 配置为以下 pod 模板对象的运行时类来部署 OpenShift 沙盒容器工作负载:

  • Pod 对象
  • ReplicaSet 对象
  • ReplicationController 对象
  • StatefulSet 对象
  • Deployment 对象
  • deploymentConfig 对象
重要

不要在 openshift-sandboxed-containers-operator 命名空间中部署工作负载。为这些资源创建一个专用命名空间。

先决条件

  • 您已为供应商创建了 secret 对象。
  • 您已为供应商创建了配置映射。
  • 您已创建了 KataConfig 自定义资源 (CR)。

流程

  1. spec.runtimeClassName: kata 添加到每个 pod 模板工作负载对象的清单中,如下例所示:

    apiVersion: v1
    kind: <object>
    # ...
    spec:
      runtimeClassName: kata
    # ...

    OpenShift Container Platform 创建工作负载对象并开始调度它。

验证

  • 检查 pod 模板对象的 spec.runtimeClassName 字段。如果值为 kata,则工作负载在 OpenShift 沙盒容器中运行,使用对等 pod。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.