2.2. 使用 Web 控制台部署 OpenShift 沙盒容器工作负载
您可从 web 控制台部署 OpenShift 沙盒容器工作负载。首先,您必须安装 OpenShift 沙盒容器 Operator,然后创建 KataConfig
自定义资源 (CR)。在沙盒容器中部署工作负载后,您必须手动将 kata
作为 runtimeClassName
添加到工作负载 YAML 文件中。
2.2.1. 使用 Web 控制台安装 OpenShift 沙盒容器 Operator
您可从 Red Hat OpenShift Web 控制台安装 OpenShift 沙盒容器 Operator。
先决条件
- 已安装 Red Hat OpenShift 4.13。
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
-
从 Web 控制台中的 Administrator 视角,进入到 Operators
OperatorHub。 -
在 Filter by keyword 字段中,输入
OpenShift sandboxed containers
。 - 选择 OpenShift sandboxed containers 标题。
- 阅读 Operator 信息并单击 Install。
在 Install Operator 页面中:
- 从可用 Update Channel 选项列表中选择 stable。
验证为 Installed Namespace 选择了 Operator recommended Namespace。这会在
openshift-sandboxed-containers-operator
命名空间中安装 Operator。如果此命名空间尚不存在,则会自动创建。注意尝试在
openshift-sandboxed-containers-operator
以外的命名空间中安装 OpenShift 沙盒容器 Operator 会导致安装失败。- 验证是否为 Approval Strategy 选择了 Automatic。Automatic 是默认值,当有新的 z-stream 发行版本可用时,自动启用对 OpenShift 沙盒容器的自动更新。
- 点 Install。
OpenShift 沙盒容器 Operator 现已安装在集群中。
验证
-
从 Web 控制台中的 Administrator 视角,导航到 Operators
Installed Operators。 - 验证 OpenShift 沙盒容器 Operator 是否在 operator 列表中列出。
2.2.2. 在 web 控制台中创建 KataConfig 自定义资源
您必须创建一个 KataConfig
自定义资源(CR),以便在集群节点上启用将 kata
作为 RuntimeClass
。
创建 KataConfig
CR 会自动重启 worker 节点。重启可能需要 10 到 60 分钟。妨碍重启时间的因素如下:
- 带有更多 worker 节点的大型 Red Hat OpenShift 部署。
- 激活 BIOS 和 Diagnostics 实用程序。
- 在硬盘而不是 SSD 上部署。
- 在物理节点上部署,如裸机,而不是在虚拟节点上部署。
- CPU 和网络较慢。
先决条件
- 在集群中安装了 Red Hat OpenShift 4.13。
-
您可以使用具有
cluster-admin
角色的用户访问集群。 - 已安装 OpenShift 沙盒容器 Operator。
Kata 默认安装在所有 worker 节点上。如果要在特定节点上安装 kata
作为 RuntimeClass
,您可以向这些节点添加标签,然后在创建时定义 KataConfig
CR 中的标签。
流程
-
从 Web 控制台中的 Administrator 视角,导航到 Operators
Installed Operators。 - 从 Operator 列表中选择 OpenShift 沙盒容器 Operator。
- 在 KataConfig 选项卡中,点 Create KataConfig。
在 Create KataConfig 页面中,输入以下详情:
-
名称 :输入
KataConfig
资源的名称。默认情况下,名称定义为example-kataconfig
。 -
Labels (可选):输入任何相关的、识别到
KataConfig
资源的属性。每个标签代表一个键值对。 -
checkNodeEligibility
(可选,不与对等 pod 相关的):选择此复选框以使用 Node Feature Discovery Operator (NFD)检测节点资格以作为RuntimeClass
运行kata
。如需更多信息,请参阅"检查集群节点是否有资格运行 OpenShift 沙盒容器"。 -
enablePeerPods
(对于对等 pod):选择此复选框来启用对等 pod,并在公有云环境中使用 OpenShift 沙盒容器。 kataConfigPoolSelector
:默认情况下,kata
在所有节点上作为RuntimeClass
安装。如果要在所选节点上安装kata
作为RuntimeClass
,您必须添加一个 matchExpression :-
展开
kataConfigPoolSelector
区域。 -
在
kataConfigPoolSelector
中,展开 matchExpressions。这是标签选择器要求列表。 - 点 Add matchExpressions。
- 在 key 字段中,添加选择器应用到的标签键。
-
在 operator 字段中,添加键与标签值的关系。有效的运算符为
In
、NotIn
、Exists
和DoesNotExist
。 - 展开 values 区域,然后点 Add value。
-
在 Value 字段中,为 key 标签值输入
true
或false
。
-
展开
-
loglevel
:定义为将kata
作为RuntimeClass
运行的节点检索的日志数据级别。如需更多信息,请参阅"收集 OpenShift 沙盒容器数据"。
-
名称 :输入
- 点 Create。
新的 KataConfig
CR 会被创建,并开始在 worker 节点上作为 RuntimeClass
安装 kata
。等待 kata
安装完成,以及 worker 节点重启,然后继续下一步。
OpenShift 沙盒容器仅将 kata
安装为集群上的辅助可选运行时,而不是作为主要运行时安装。
验证
-
在 KataConfig 选项卡中,选择新的
KataConfig
CR。 - 在 KataConfig 页面中,选择 YAML 选项卡。
监控状态中的 installationStatus 字段。
每次有更新时都会出现一条消息。点 Reload 查看更新的
KataConfig
CR。当 Completed nodes 的值等于 worker 或已标记的节点的数量,则代表安装已完成。该状态还包含安装完成的节点的列表。
2.2.3. 使用 Web 控制台在沙盒容器中部署工作负载
OpenShift 沙盒容器将 Kata 安装为集群上的辅助、可选运行时,而不是主运行时。
要在沙盒容器中部署 pod 模板工作负载,您必须手动将 kata
作为 runtimeClassName
添加到工作负载 YAML 文件中。
先决条件
- 在集群中安装了 Red Hat OpenShift 4.13。
-
您可以使用具有
cluster-admin
角色的用户访问集群。 - 已安装 OpenShift 沙盒容器 Operator。
-
您已创建了
KataConfig
自定义资源 (CR)。
流程
- 从 web 控制台中的 Administrator 视角,展开 Workloads 并选择您要创建的工作负载类型。
- 在工作负载页面中,点击以创建工作负载。
在工作负载的 YAML 文件中,在列出容器的 spec 字段中,添加
runtimeClassName: kata
。Pod 对象示例
apiVersion: v1 kind: Pod metadata: name: hello-openshift labels: app: hello-openshift spec: runtimeClassName: kata 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
- 点击 Save。
Red Hat OpenShift 创建工作负载并开始调度它。