配置 NFS

本节介绍如何在生产环境中为 KubeSphere 集群配置网络文件系统(NFS)。

说明

NFS 与部分应用不兼容(例如 Prometheus),可能会导致容器组创建失败。如果确实需要在生产环境中使用 NFS,请确保您了解相关风险或咨询 KubeSphere 技术支持 support@kubesphere.cloud

搭建 NFS 服务端

为 KubeSphere 配置 NFS 前,您需要先搭建 NFS 服务端。如果您已经有可用的 NFS 服务端,您可以跳过此步骤。以下以 Ubuntu 操作系统安装操作 NFS Kernel Server 为例介绍如何搭建 NFS 服务端。有关其他 NFS 服务端和其他操作系统的具体操作,请参阅 NFS 服务端和操作系统的用户指南。

前提条件

您需要准备一台 Linux 服务器(以下以 Ubuntu 操作系统为例),该服务器必须与 KubeSphere 集群节点网络连通。

操作步骤

  1. 登录用于搭建 NFS 服务端的服务器,执行以下命令指安装 NFS Kernel Server:

    1. sudo apt update
    1. sudo apt install nfs-kernel-server
  2. 执行以下命令创建供 KubeSphere 使用的目录(将 <directory> 替换为实际的目录路径,例如 /mnt/demo):

    1. sudo mkdir -p <directory>
  3. 执行以下命令移除目录的访问限制(将 <directory> 替换为实际的目录路径,例如 /mnt/demo):

    1. sudo chown nobody:nogroup <directory>
    1. sudo chmod 777 <directory>
  4. 执行以下命令编辑 NFS Kernel Server 的配置文件:

    1. sudo vi /etc/exports
  5. 将 KubeSphere 集群节点的信息添加到文件中从而允许服务器访问 NFS 服务端,并保存文件:

    1. <directory> <IP address>(rw,sync,no_subtree_check)

    将以下参数替换为实际值:

    参数描述

    <directory>

    供 KubeSphere 使用的目录,例如 /mnt/demo

    <IP address>

    KubeSphere 集群节点的 IP 地址,例如 192.168.0.2。

    如果存在多个 KubeSphere 集群节点,请设置多个配置条目。您也可以将 <IP address> 设置为一个网段从而使该网段的所有服务器都能访问 NFS 服务端,例如 192.168.0.0/24

  6. 执行以下命令启用目录共享:

    1. sudo exportfs -a
  7. 执行以下命令重启 NFS 服务端使配置生效:

    1. sudo systemctl restart nfs-kernel-server

配置 KubeSphere 集群节点

NFS 服务端搭建完成后,您需要在 KubeSphere 集群节点上安装客户端工具,并创建配置文件供后续安装 KubeSphere 时使用。KubeSphere 安装完成后将使用配置文件指定的 NFS 服务端作为持久化存储。以下以 Ubuntu 操作系统安装 NFS Common 为例介绍如何安装 NFS 客户端以及创建配置文件。有关其他 NFS 客户端和其他操作系统的具体操作,请参阅 NFS 客户端和操作系统的用户指南。

前提条件

您需要搭建 NFS 服务端。有关更多信息,请参阅搭建 NFS 服务端

操作步骤

  1. 登录所有 KubeSphere 集群节点,执行以下命令安装 nfs-common:

    1. sudo apt update
    1. sudo apt install nfs-common
  2. 登录用于执行 KubeSphere 安装操作的集群节点,执行以下命令创建 NFS 存储插件配置文件:

    1. vi nfs-client.yaml
  3. 将以下信息添加到配置文件中,并保存文件供后续安装 KubeSphere 时使用:

    1. nfs:
    2. server: "<IP address>"
    3. path: "<directory>"
    4. storageClass:
    5. defaultClass: true

    将以下参数替换为实际值:

    参数描述

    <IP address>

    NFS 服务端的 IP 地址。

    <directory>

    NFS 服务端供 KubeSphere 使用的目录。

    以上配置文件仅包含必须设置的参数。如需设置其他参数,请参阅 NFS Client 配置