2.3. 可选配置
您可在安装 OpenShift 沙盒容器 Operator 后配置以下选项。
2.3.1. 置备本地块卷 复制链接链接已复制到粘贴板!
您可以在 OpenShift 沙盒容器中使用本地块卷。您必须首先使用 Local Storage Operator (LSO)置备本地块卷。然后,您必须使用本地块卷启用节点来运行 OpenShift 沙盒容器工作负载。
您可以使用 Local Storage Operator (LSO)为 OpenShift 沙盒容器置备本地块卷。本地卷置备程序会在定义的资源中指定的路径上查找任何块设备。
先决条件
- 已安装 Local Storage Operator。
您有一个满足以下条件的本地磁盘:
- 它附加到一个节点。
- 它尚未挂载。
- 它不包含分区。
流程
创建本地卷资源。此资源必须定义本地卷的节点和路径。
注意不要在同一设备中使用不同的存储类名称。这样做可创建多个持久性卷(PV)。
例如:Block
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 安装了 Local Storage Operator 的命名空间。
- 2
- 可选:包含附加了本地存储卷的节点列表的节点选择器。本例使用从
oc get node
获取的节点主机名。如果没有定义值,则 Local Storage Operator 会尝试在所有可用节点上查找匹配的磁盘。 - 3
- 创建持久性卷对象时使用的存储类的名称。
- 4
- 此设置定义是否调用
wipefs
,它会删除分区表签名(魔法字符串),使磁盘准备好用于 Local Storage Operator 置备。除了签名外,没有其它数据会被清除。默认为 "false" (不调用wipefs
)。当在需要重新使用的磁盘中,将forceWipeDevicesAndDestroyAllData
设置为 "true" 很有用。在这些情况下,将此字段设置为 true 可消除管理员手动擦除磁盘的需要。 - 5
- 包含要从中选择的本地存储设备列表的路径。在启用带有本地块设备的节点来运行 OpenShift 沙盒容器工作负载时,您必须使用此路径。
- 6
- 使用到
LocalVolume
资源by-id
的文件路径替换这个值,如/dev/disk/by-id/wwn
。当置备程序已被成功部署时,会为这些本地磁盘创建 PV。
在 OpenShift Container Platform 集群中创建本地卷资源。指定您刚才创建的文件:
oc apply -f <local-volume>.yaml
$ oc apply -f <local-volume>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证置备程序是否已创建并创建了相应的守护进程集:
oc get all -n openshift-local-storage
$ oc get all -n openshift-local-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意
所需的
和当前的
守护进程设定进程数。所需的
数量为0
表示标签选择器无效。验证持久性卷是否已创建:
oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available local-sc 88m local-pv-2ef7cd2a 100Gi RWO Delete Available local-sc 82m local-pv-3fa1c73 100Gi RWO Delete Available local-sc 48m
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available local-sc 88m local-pv-2ef7cd2a 100Gi RWO Delete Available local-sc 82m local-pv-3fa1c73 100Gi RWO Delete Available local-sc 48m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
编辑 LocalVolume
对象不会更改现有的持久性卷,因为这样做可能会导致破坏性操作。
2.3.2. 启用节点使用本地块设备 复制链接链接已复制到粘贴板!
您可以使用本地块设备配置节点,以便在定义的卷资源中指定的路径上运行 OpenShift 沙盒容器工作负载。
先决条件
- 已使用 Local Storage Operator (LSO)置备块设备。
流程
运行以下命令,使用本地块设备启用每个节点来运行 OpenShift 沙盒容器工作负载:
oc debug node/worker-0 -- chcon -vt container_file_t /host/path/to/device
$ oc debug node/worker-0 -- chcon -vt container_file_t /host/path/to/device
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建本地存储资源时,
/path/to/device
必须与您定义的路径相同。输出示例
system_u:object_r:container_file_t:s0 /host/path/to/device
system_u:object_r:container_file_t:s0 /host/path/to/device
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. 创建 NodeFeatureDiscovery 自定义资源 复制链接链接已复制到粘贴板!
您可以创建一个 NodeFeatureDiscovery
自定义资源(CR)来定义 Node Feature Discovery (NFD) Operator 检查的配置参数,以确定 worker 节点可以支持 OpenShift 沙盒容器。
要仅在您了解的所选 worker 节点上安装 kata
运行时,请将 feature.node.kubernetes.io/runtime.kata=true
标签应用到所选节点,并在 KataConfig
CR 中设置 checkNodeEligibility: true
。
要在所有 worker 节点上安装 kata
运行时,请在 KataConfig
CR 中设置 checkNodeEligibility: false
。
在这两种情况下,您不需要创建 NodeFeatureDiscovery
CR。如果您确定节点有资格运行 OpenShift 沙盒容器,则应仅应用 feature.node.kubernetes.io/runtime.kata=true
标签。
以下流程将 feature.node.kubernetes.io/runtime.kata=true
标签应用到所有有资格的节点,并将 KataConfig
资源配置为检查节点资格。
先决条件
- 已安装 NFD Operator。
流程
根据以下示例创建
nfd.yaml
清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
NodeFeatureDiscovery
CR:oc create -f nfd.yaml
$ oc create -f nfd.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NodeFeatureDiscovery
CR 将feature.node.kubernetes.io/runtime.kata=true
标签应用到所有合格的 worker 节点。
根据以下示例创建
kata-config.yaml
清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
KataConfig
CR:oc create -f kata-config.yaml
$ oc create -f kata-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证集群中是否应用了正确的标签:
oc get nodes --selector='feature.node.kubernetes.io/runtime.kata=true'
$ oc get nodes --selector='feature.node.kubernetes.io/runtime.kata=true'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS ROLES AGE VERSION compute-3.example.com Ready worker 4h38m v1.25.0 compute-2.example.com Ready worker 4h35m v1.25.0
NAME STATUS ROLES AGE VERSION compute-3.example.com Ready worker 4h38m v1.25.0 compute-2.example.com Ready worker 4h35m v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow