13.4.2. 配置挂载命名空间封装
您可以配置挂载命名空间封装,以便集群以较少的资源开销运行。
挂载命名空间封装是一个技术预览功能,这个功能默认是禁用的。要使用这个功能,您必须手动启用该功能。
先决条件
-
已安装 OpenShift CLI(
oc)。 -
您已以具有
cluster-admin权限的用户身份登录。
流程
使用以下 YAML 创建名为
mount_namespace_config.yaml的文件:apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: master name: 99-kubens-master spec: config: ignition: version: 3.2.0 systemd: units: - enabled: true name: kubens.service --- apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 99-kubens-worker spec: config: ignition: version: 3.2.0 systemd: units: - enabled: true name: kubens.service运行以下命令来应用挂载命名空间
MachineConfigCR:$ oc apply -f mount_namespace_config.yaml输出示例
machineconfig.machineconfiguration.openshift.io/99-kubens-master created machineconfig.machineconfiguration.openshift.io/99-kubens-worker createdMachineConfigCR 最多可能需要 30 分钟才能完成在集群中应用。您可以运行以下命令来检查MachineConfigCR 的状态:$ oc get mcp输出示例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-03d4bc4befb0f4ed3566a2c8f7636751 False True False 3 0 0 0 45m worker rendered-worker-10577f6ab0117ed1825f8af2ac687ddf False True False 3 1 1运行以下命令,等待所有 control plane 和 worker 节点成功应用
MachineConfigCR:$ oc wait --for=condition=Updated mcp --all --timeout=30m输出示例
machineconfigpool.machineconfiguration.openshift.io/master condition met machineconfigpool.machineconfiguration.openshift.io/worker condition met
验证
打开集群主机的默认 shell:
$ oc debug node/<node_name>打开
chroot会话:sh-4.4# chroot /host检查 systemd 挂载命名空间:
sh-4.4# readlink /proc/1/ns/mnt输出示例
mnt:[4026531953]检查 kubelet 挂载命名空间:
sh-4.4# readlink /proc/$(pgrep kubelet)/ns/mnt输出示例
mnt:[4026531840]检查 CRI-O 挂载命名空间:
sh-4.4# readlink /proc/$(pgrep crio)/ns/mnt输出示例
mnt:[4026531840]这些命令返回与 systemd、kubelet 和容器运行时关联的挂载命名空间。在 OpenShift Container Platform 中,容器运行时是 CRI-O。
如果 systemd 位于 kubelet 和 CRI-O 不同的挂载命名空间中,则封装生效,如上例中所示。如果所有三个进程都位于同一挂载命名空间中,则封装无效。