2.7. 为 RHCOS 添加扩展
RHCOS 是基于容器的最小 RHEL 操作系统,旨在为所有平台的 OpenShift Container Platform 集群提供一组通用的功能。通常不建议在 RHCOS 系统中添加软件软件包,但 MCO 提供了一个 extensions(扩展)
功能,您可以使用 MCO 为 RHCOS 节点添加一组最小的功能。
目前,有以下扩展可用:
-
usbguard:
usbguard
扩展可保护 RHCOS 系统不受入侵 USB 设备的攻击。如需更多信息,请参阅 USBGuard。 -
Kerberos:
kerberos
扩展提供了一种机制,允许用户和机器标识自身对网络进行定义的定义、限制对管理员配置的区域和服务的访问权限。如需更多信息,请参阅使用 Kerberos 了解详情,包括如何设置 Kerberos 客户端和挂载 Kerberized NFS 共享。 -
sandboxed-containers :
sandboxed-containers
扩展包含 Kata、QEMU 及其依赖项的 RPM。如需更多信息,请参阅 OpenShift Sandboxed Containers。 -
ipsec:
ipsec
扩展包含 libreswan 和 NetworkManager-libreswan 的 RPM。 -
wasm:
wasm
扩展为想要使用 WASM 支持的工作负载的用户在 OpenShift Container Platform 中启用开发人员预览功能。 -
sysstat :添加
sysstat
扩展可为 OpenShift Container Platform 节点提供额外的性能监控,包括用于收集和报告信息的系统活动报告器(sar
)命令。 -
kernel-devel:
kernel-devel
扩展提供内核标头和 makefile,以根据内核软件包构建模块。
以下流程描述了如何使用机器配置为 RHCOS 节点添加一个或多个扩展。
先决条件
- 有一个正在运行的 OpenShift Container Platform 集群(版本 4.6 或更高版本)。
- 以具有管理特权的用户身份登录集群。
流程
为扩展创建机器配置:创建一个 YAML 文件(如
80-extensions.yaml
),其中包含MachineConfig
extensions
对象。本例告诉集群添加usbguard
扩展。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将机器配置添加到集群。键入以下内容将机器配置添加到集群中:
oc create -f 80-extensions.yaml
$ oc create -f 80-extensions.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这会将所有 worker 节点设置为安装
usbguard
的 rpm 软件包。检查是否应用了扩展:
oc get machineconfig 80-worker-extensions
$ oc get machineconfig 80-worker-extensions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE 80-worker-extensions 3.5.0 57s
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE 80-worker-extensions 3.5.0 57s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查是否应用新机器配置,并且节点是否处于降级状态。它可能需要几分钟时间。worker 池将显示更新进行中,每台机器都成功应用了新机器配置:
oc get machineconfigpool
$ oc get machineconfigpool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-35 True False False 3 3 3 0 34m worker rendered-worker-d8 False True False 3 1 1 0 34m
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-35 True False False 3 3 3 0 34m worker rendered-worker-d8 False True False 3 1 1 0 34m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查扩展。要检查是否应用了扩展,请运行:
oc get node | grep worker
$ oc get node | grep worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME STATUS ROLES AGE VERSION ip-10-0-169-2.us-east-2.compute.internal Ready worker 102m v1.32.3
NAME STATUS ROLES AGE VERSION ip-10-0-169-2.us-east-2.compute.internal Ready worker 102m v1.32.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc debug node/ip-10-0-169-2.us-east-2.compute.internal
$ oc debug node/ip-10-0-169-2.us-east-2.compute.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
... To use host binaries, run `chroot /host` sh-4.4# chroot /host sh-4.4# rpm -q usbguard usbguard-0.7.4-4.el8.x86_64.rpm
... To use host binaries, run `chroot /host` sh-4.4# chroot /host sh-4.4# rpm -q usbguard usbguard-0.7.4-4.el8.x86_64.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow