搜索

3.2. 使用带有 Web 控制台的对等 pod 部署 OpenShift 沙盒容器工作负载

download PDF

您可从 web 控制台部署 OpenShift 沙盒容器工作负载。首先,您必须安装 OpenShift 沙盒容器 Operator,然后创建一个 secret 对象、虚拟机镜像和 peer-pod ConfigMap。secret 对象和 ConfigMap 是唯一的,具体取决于您的云供应商。最后,您必须创建 KataConfig 自定义资源(CR)。在沙盒容器中部署工作负载后,您必须手动将 kata-remote-cc 作为 runtimeClassName 添加到工作负载 YAML 文件中。

3.2.1. 使用 Web 控制台安装 OpenShift 沙盒容器 Operator

您可从 Red Hat OpenShift Web 控制台安装 OpenShift 沙盒容器 Operator。

先决条件

  • 已安装 Red Hat OpenShift 4.13。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 从 Web 控制台中的 Administrator 视角,进入到 Operators OperatorHub
  2. Filter by keyword 字段中,输入 OpenShift sandboxed containers
  3. 选择 OpenShift sandboxed containers 标题。
  4. 阅读 Operator 信息并单击 Install
  5. Install Operator 页面中:

    1. 从可用 Update Channel 选项列表中选择 stable
    2. 验证为 Installed Namespace 选择了 Operator recommended Namespace。这会在 openshift-sandboxed-containers-operator 命名空间中安装 Operator。如果此命名空间尚不存在,则会自动创建。

      注意

      尝试在 openshift-sandboxed-containers-operator 以外的命名空间中安装 OpenShift 沙盒容器 Operator 会导致安装失败。

    3. 验证是否为 Approval Strategy 选择了 AutomaticAutomatic 是默认值,当有新的 z-stream 发行版本可用时,自动启用对 OpenShift 沙盒容器的自动更新。
  6. Install

OpenShift 沙盒容器 Operator 现已安装在集群中。

验证

  1. 从 Web 控制台中的 Administrator 视角,导航到 Operators Installed Operators
  2. 验证 OpenShift 沙盒容器 Operator 是否在 operator 列表中列出。

3.2.2. 使用 Web 控制台为 AWS 配置 peer-pod 参数

您必须创建一个 secret 对象和 ConfigMap,以使用 AWS 上的对等 pod 部署 OpenShift 沙盒容器。

创建 secret 对象后,您仍必须创建 KataConfig 自定义资源(CR)来使用对等 pod 部署 OpenShift 沙盒容器。

先决条件

  • 在集群中安装了 Red Hat OpenShift 4.13。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift 沙盒容器 Operator。

3.2.2.1. 使用 Web 控制台为 AWS 创建 secret 对象

设置 AWS 访问密钥并在 secret 对象中配置网络。secret 对象用于创建 pod 虚拟机镜像,并由对等 pod 使用。

为 AWS 创建 secret 对象时,您必须设置特定的环境值。在创建 secret 对象前,您可以检索其中的一些值。必须使用 CLI 检索这些值。如需更多信息,请参阅使用 CLI 为 AWS 创建 secret 对象

另外,在 AWS Web 控制台中,您必须找到并准备以下值:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

流程

  1. 从 Web 控制台中的 Administrator 视角,导航到 Operators Installed Operators
  2. 从 Operator 列表中选择 OpenShift 沙盒容器 Operator。
  3. 单击右上角的 Import 图标 (+)。
  4. Import YAML 窗口中,粘贴以下 YAML 清单:

    apiVersion: v1
    kind: Secret
    metadata:
      name: peer-pods-secret
      namespace: openshift-sandboxed-containers-operator
    type: Opaque
    stringData:
      AWS_ACCESS_KEY_ID: "<enter value>" 1
      AWS_SECRET_ACCESS_KEY: "<enter value>" 2
      AWS_REGION: "<enter value>" 3
      AWS_SUBNET_ID: "<enter value>" 4
      AWS_VPC_ID: "<enter value>" 5
      AWS_SG_IDS: "<enter value>" 6
    1
    在开始之前,输入您准备的 AWS_ACCESS_KEY_ID 值。
    2
    在开始之前,输入您准备的 AWS_SECRET_ACCESS_KEY 值。
    3
    输入您检索到的 AWS_REGION 值。
    4
    输入您检索到的 AWS_SUBNET_ID 值。
    5
    输入您检索到的 AWS_VPC_ID 值。
    6
    输入您检索到的 AWS_SG_IDS 值。
  5. Create

secret 对象已创建。您可以看到它列在 Workloads Secrets 下。

3.2.2.2. 使用 Web 控制台创建 AWS 虚拟机镜像(AMI)

要使用 AWS 上的对等 pod 运行 OpenShift 沙盒容器,您必须首先使用 AWS 帐户和资源创建一个 RHEL AMI。

流程

  1. 从 web 控制台中的 Administrator 视角,进入到 Workloads Jobs
  2. Jobs 窗口中,在左上角的 openshift-sandboxed-containers-operator 项目中验证您是否处于 openshift-sandboxed-containers-operator 项目中。
  3. Create Job
  4. Create Job 窗口中,粘贴此完整的 YAML 清单
  5. Create

已创建镜像。

注意

此镜像不由 OpenShift 沙盒容器管理。您可以使用 AWS Web 控制台或 AWS CLI 工具删除它。

创建镜像后,您必须使用 peer-pod ConfigMap 设置镜像。

3.2.2.3. 使用 Web 控制台为 AWS 创建 peer-pod ConfigMap

为 AWS 创建 ConfigMap 时,您必须设置 AMI ID。在创建 ConfigMap 前,您可以检索这个值。必须使用 CLI 检索此值。如需更多信息,请参阅使用 CLI 为 AWS 创建 peer-pod ConfigMap

流程

  1. 从 Web 控制台中的 Administrator 视角,导航到 Operators Installed Operators
  2. 从 Operator 列表中选择 OpenShift 沙盒容器 Operator。
  3. 单击右上角的 Import 图标 (+)。
  4. Import YAML 窗口中,粘贴以下 YAML 清单:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: peer-pods-cm
      namespace: openshift-sandboxed-containers-operator
    data:
      CLOUD_PROVIDER: "aws"
      VXLAN_PORT: "9000"
      PODVM_INSTANCE_TYPE: "t3.medium"
      PROXY_TIMEOUT: "5m"
      PODVM_AMI_ID: "<enter value>" 1
    1
    输入您检索到的 PODVM_AMI_ID 值。
  5. Create

ConfigMap 对象已创建。您可以看到它在 Workloads ConfigMaps 下列出。

创建 KataConfig CR 后,您可以使用 AWS 上的对等 pod 运行 OpenShift 沙盒容器。

3.2.3. 使用 Web 控制台为 Azure 配置 peer-pod 参数

您必须创建一个 secret 对象和 ConfigMap,以便使用 Microsoft Azure 上的对等 pod 部署 OpenShift 沙盒容器。

创建 secret 对象后,您仍必须创建 KataConfig 自定义资源(CR)来使用对等 pod 部署 OpenShift 沙盒容器。

先决条件

  • 在集群中安装了 Red Hat OpenShift 4.13。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift 沙盒容器 Operator。

3.2.3.1. 使用 Web 控制台为 Azure 创建 secret 对象

设置 Azure 访问密钥并在 secret 对象中配置网络。secret 对象用于创建 pod 虚拟机镜像,并由对等 pod 使用。

为 Azure 创建 secret 对象时,您必须设置特定的环境值。在创建 secret 对象前,您可以检索其中的一些值。必须使用 CLI 检索这些值。如需更多信息,请参阅使用 CLI 为 Azure 创建 secret 对象

另外,在 Azure web 控制台中,您必须找到并准备以下值:

  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_TENANT_ID

流程

  1. 从 Web 控制台中的 Administrator 视角,导航到 Operators Installed Operators
  2. 从 Operator 列表中选择 OpenShift 沙盒容器 Operator。
  3. 单击右上角的 Import 图标 (+)。
  4. Import YAML 窗口中,粘贴以下 YAML 清单:

    apiVersion: v1
    kind: Secret
    metadata:
      name: peer-pods-secret
      namespace: openshift-sandboxed-containers-operator
    type: Opaque
    stringData:
      AZURE_CLIENT_ID: "<enter value>" 1
      AZURE_CLIENT_SECRET: "<enter value>" 2
      AZURE_TENANT_ID: "<enter value>" 3
      AZURE_SUBSCRIPTION_ID: "<enter value>" 4
      AZURE_REGION: "<enter value>" 5
      AZURE_RESOURCE_GROUP: "<enter value>" 6
    1
    在开始之前输入您准备的 AZURE_CLIENT_ID 值。
    2
    在开始之前,输入您准备的 AZURE_CLIENT_SECRET 值。
    3
    在开始之前输入您准备的 AZURE_TENANT_ID 值。
    4
    输入您检索到的 AZURE_SUBSCRIPTION_ID 值。
    5
    输入您检索到的 AZURE_REGION 值。
    6
    输入您检索到的 AZURE_RESOURCE_GROUP 值。
  5. Create

secret 对象已创建。您可以看到它列在 Workloads Secrets 下。

3.2.3.2. 使用 Web 控制台创建 Azure 虚拟机镜像

要使用 Azure 上的对等 pod 运行 OpenShift 沙盒容器,您必须首先使用 Azure 帐户和资源为 Azure 创建 RHEL 镜像。

流程

  1. 从 web 控制台中的 Administrator 视角,进入到 Workloads Jobs
  2. Jobs 窗口中,在左上角的 openshift-sandboxed-containers-operator 项目中验证您是否处于 openshift-sandboxed-containers-operator 项目中。
  3. Create Job
  4. Create Job 窗口中,粘贴此完整的 YAML 清单
  5. Create

已创建镜像。

注意

此镜像不由 OpenShift 沙盒容器管理。如果需要,可以使用 Azure web 控制台或 Azure CLI 工具删除它。

创建镜像后,您必须使用 peer-pod ConfigMap 设置镜像。

3.2.3.3. 使用 Web 控制台为 Azure 创建 peer-pod ConfigMap

为 Azure 创建 ConfigMap 时,您必须设置特定的配置值。必须使用 CLI 检索这些值。如需更多信息,请参阅使用 CLI 为 Azure 创建 peer-pod ConfigMap

流程

  1. 从 Web 控制台中的 Administrator 视角,导航到 Operators Installed Operators
  2. 从 Operator 列表中选择 OpenShift 沙盒容器 Operator。
  3. 单击右上角的 Import 图标 (+)。
  4. Import YAML 窗口中,粘贴以下 YAML 清单:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: peer-pods-cm
      namespace: openshift-sandboxed-containers-operator
    data:
      CLOUD_PROVIDER: "azure"
      VXLAN_PORT: "9000"
      AZURE_INSTANCE_SIZE: "Standard_B2als_v2"
      AZURE_SUBNET_ID: "<enter value>" 1
      AZURE_NSG_ID: "<enter value>" 2
      AZURE_IMAGE_ID: "<enter value>" 3
      PROXY_TIMEOUT: "5m"
      DISABLECVM: "true"
    1
    输入您检索到的 AZURE_SUBNET_ID 值。
    2
    输入您检索到的 AZURE_NSG_ID 值。
    3
    输入您检索到的 AZURE_IMAGE_ID 值。
  5. Create

ConfigMap 对象已创建。您可以看到它在 Workloads ConfigMaps 下列出。

3.2.3.4. 使用 Web 控制台为 Azure 创建 SSH 密钥 secret 对象

您必须创建一个 SSH 密钥 secret 对象才能使用 Azure 的对等 pod。如果您还没有创建对象的 SSH 密钥,则必须使用 CLI 生成对象。更多信息,请参阅

流程

  1. 从 web 控制台中的 Administrator 视角,进入到 Workloads Secrets
  2. 在左侧的 Secrets 窗口中,验证您是否位于 openshift-sandboxed-containers-operator 项目中。
  3. Create,从列表中选择 Key/value secret
  4. Secret name 字段中,输入 ssh-key-secret
  5. Key 字段中,输入 id_rsa.pub
  6. Value 字段中,粘贴您的公共 SSH 密钥。
  7. Create

SSH 密钥 secret 对象已创建。您可以看到它列在 Workloads Secrets 下。

创建 KataConfig CR 后,您可以使用 Azure 上的对等 pod 运行 OpenShift 沙盒容器。

3.2.4. 在 web 控制台中创建 KataConfig 自定义资源

您必须创建一个 KataConfig 自定义资源(CR),以便在集群节点上启用将 kata-remote-cc 安装为 RuntimeClass

重要

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

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

先决条件

  • 在集群中安装了 Red Hat OpenShift 4.13。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift 沙盒容器 Operator。
注意

默认情况下,对等 pod 的 Kata 安装在所有 worker 节点上。如果要在特定节点上安装 kata-remote-cc 作为 RuntimeClass,您可以在这些节点上添加标签,然后在创建时在 KataConfig CR 中定义标签。

流程

  1. 从 Web 控制台中的 Administrator 视角,导航到 Operators Installed Operators
  2. 从 Operator 列表中选择 OpenShift 沙盒容器 Operator。
  3. KataConfig 选项卡中,点 Create KataConfig
  4. Create KataConfig 页面中,输入以下详情:

    • 名称 :输入 KataConfig 资源的名称。默认情况下,名称定义为 example-kataconfig
    • Labels (可选):输入任何相关的、识别到 KataConfig 资源的属性。每个标签代表一个键值对。
    • checkNodeEligibility (可选,不与对等 pod 相关的):选择此复选框以使用 Node Feature Discovery Operator (NFD)检测节点资格以作为 RuntimeClass 运行 kata。如需更多信息,请参阅"检查集群节点是否有资格运行 OpenShift 沙盒容器"。
    • enablePeerPods (对于对等 pod):选择此复选框来启用对等 pod,并在公有云环境中使用 OpenShift 沙盒容器。
    • KataConfigPoolSelector :默认情况下,kata-remote-cc 在所有节点上作为 RuntimeClass 安装。如果要在所选节点上安装 kata-remote-cc 作为 RuntimeClass,您必须添加一个 matchExpression

      1. 展开 kataConfigPoolSelector 区域。
      2. kataConfigPoolSelector 中,展开 matchExpressions。这是标签选择器要求列表。
      3. Add matchExpressions
      4. key 字段中,添加选择器应用到的标签键。
      5. operator 字段中,添加键与标签值的关系。有效的运算符为 InNotInExistsDoesNotExist
      6. 展开 values 区域,然后点 Add value
      7. Value 字段中,为 key 标签值输入 truefalse
    • loglevel :定义为将 kata-remote-cc 运行为 RuntimeClass 的节点检索的日志数据级别。如需更多信息,请参阅"收集 OpenShift 沙盒容器数据"。
  5. Create

创建新的 KataConfig CR,并开始在 worker 节点上安装 kata-remote-cc 作为 RuntimeClass。等待安装完成,以及 worker 节点重新引导,然后继续下一步。

重要

OpenShift 沙盒容器仅将 kata-remote-cc 安装为集群上的辅助可选运行时,而不是主运行时。

验证

  1. KataConfig 选项卡中,选择新的 KataConfig CR。
  2. KataConfig 页面中,选择 YAML 选项卡。
  3. 监控状态中的 installationStatus 字段。

    每次有更新时都会出现一条消息。点 Reload 查看更新的 KataConfig CR。

    Completed nodes 的值等于 worker 或已标记的节点的数量,则代表安装已完成。该状态还包含安装完成的节点的列表。

3.2.5. 使用 Web 控制台在沙盒容器中部署对等 pod 的工作负载

OpenShift 沙盒容器将 Kata 安装为集群上的辅助、可选运行时,而不是主运行时。

要使用沙盒容器中的对等 pod 部署 pod 模板工作负载,您必须手动将 kata-remote-cc 作为 runtimeClassName 添加到工作负载 YAML 文件中。

先决条件

  • 在集群中安装了 Red Hat OpenShift 4.13。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 已安装 OpenShift 沙盒容器 Operator。
  • 您已创建了一个 secret 对象和 peer-pod 配置映射,对云供应商是唯一的。
  • 您已创建了 KataConfig 自定义资源 (CR)。

流程

  1. 从 web 控制台中的 Administrator 视角,展开 Workloads 并选择您要创建的工作负载类型。
  2. 在工作负载页面中,点击以创建工作负载。
  3. 在工作负载的 YAML 文件中,在列出容器的 spec 字段中,添加 runtimeClassName: kata-remote-cc

    Pod 对象示例

    apiVersion: v1
    kind: Pod
    metadata:
      name: hello-openshift
      labels:
        app: hello-openshift
    spec:
      runtimeClassName: kata-remote-cc
      containers:
        - name: hello-openshift
          image: quay.io/openshift/origin-hello-openshift
          ports:
            - containerPort: 8888
          securityContext:
            privileged: false
            allowPrivilegeEscalation: false
            runAsNonRoot: true
            runAsUser: 1001
            capabilities:
              drop:
                - ALL
            seccompProfile:
              type: RuntimeDefault

  4. 点击 Save

Red Hat OpenShift 创建工作负载并开始调度它。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.