Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

27.11.2. 开始前

  1. 在所有节点上安装 samba-clientsamba-commoncifs-utils

    $ sudo yum install samba-client samba-common cifs-utils
  2. 在所有节点上启用 SELinux 布尔值:

    $ /usr/sbin/setsebool -P virt_use_samba on
    $ /usr/sbin/setsebool -P virt_sandbox_use_samba on
  3. 运行 mount 命令检查 dir_modefile_mode 权限,例如:

    $ mount

如果 dir_modefile_mode 权限被设置为 0755,则将默认值 0755 更改为 07770775。需要此手动步骤,因为 OpenShift Container Platform 3.9 中默认的 dir_modefile_mode 权限从 0777 更改为 0755。以下示例显示了带有更改值的配置文件。

使用 Azure File 时的注意事项

Azure File 不支持以下文件系统功能:

  • 符号链接
  • 硬链接
  • 扩展属性
  • 稀疏文件
  • 命名管道

另外,Azure File 挂载目录的所有者用户标识符 (UID) 与容器的进程 UID 不同。

小心

如果您使用任何使用不支持的文件系统功能的容器镜像,则环境中的不稳定。PostgreSQL 和 MySQL 的容器已知在与 Azure File 搭配使用时出现问题。

在 Azure File 中使用 MySQL 的方法

如果使用 MySQL 容器,您必须修改 PV 配置,作为在挂载的目录 UID 和容器进程 UID 间的文件所有权不匹配的一个临时解决方案。对 PV 配置文件进行以下更改:

  1. 在 PV 配置文件的 runAsUser 变量中指定 Azure File 挂载的目录 UID:

    spec:
      containers:
        ...
      securityContext:
        runAsUser: <mounted_dir_uid>
  2. 在 PV 配置文件中,指定 mountOptions 下的容器进程 UID:

    mountOptions:
      - dir_mode=0700
      - file_mode=0600
      - uid=<container_process_uid>
      - gid=0