# 设置对象存储挂载参数
本章节主要介绍如何设置对象存储的挂载参数。您可以在PV中设置挂载参数，然后通过PVC绑定PV，也可以在StorageClass中设置挂载参数，然后使用StorageClass创建PVC，动态创建出的PV会默认带有StorageClass中设置的挂载参数。
 #### 对象存储挂载参数
CCE Autopilot在挂载对象存储时默认设置了[表1]和[表2]的参数，其中[表1]中的参数不可取消。
 表1默认使用且不可取消的挂载参数 
| 参数                  | 参数值  | 描述                              |
|:---|:---|:---|
| use_ino              | 无需填写 | 使用该选项，由obsfs分配inode编号。读写模式下自动开启。 |
| big_writes             | 无需填写 | 配置后可更改写缓存最大值大小                    |
| nonempty             | 无需填写  | 允许挂载目录非空                          |
| allow_other        | 无需填写 | 允许其他用户访问并行文件系统                   |
| no_check_certificate | 无需填写 | 不校验服务端证书                        |
| sigv2                 | 无需填写 | 签名版本。对象桶自动使用。                     |
| public_bucket       | 1    | 设置为1时匿名挂载公共桶。对象桶只读模式下自动使用。       |
   
 表2默认使用且可修改的挂载参数 
| 参数                 | 参数值     | 描述                                                                                                                                            |
|:---|:---|:---|
| max_write            | 131072 | 仅配置big_writes的情况下才生效，推荐使用128KB。                                                                                                                 |
| ssl_verify_hostname | 0      | 不根据主机名验证SSL证书。                                                                                                                                 |
| max_background     | 100   | 可配置后台最大等待请求数。并行文件系统自动使用。                                                                                                                        |
| umask               | 0      | 配置文件权限的掩码。 例如，如果umask值为022，而目录最大权限为777，则设置umask后该目录权限为777 - 022 = 755，即rwxr-xr-x。 |
   
#### 配置挂载参数
您可以通过以下两种方式进行配置：
- [在PV中设置挂载参数]
  在PV中设置挂载参数可以通过mountOptions字段实现，如下所示，mountOptions支持挂载的字段请参见[对象存储挂载参数]。
  1. 使用kubectl连接集群，详情请参见[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce-autopilot/cce_11_0107.html)。
  
  2. 在PV中设置挂载参数，示例如下： 
     ```
     apiVersion: v1
     kind: PersistentVolume
     metadata:
       annotations:
         pv.kubernetes.io/provisioned-by: everest-csi-provisioner
         everest.io/reclaim-policy: retain-volume-only      # 可选字段，删除PV，保留底层存储卷
       name: pv-obs       # PV的名称
     spec:
       accessModes:
       - ReadWriteMany    # 访问模式，对象存储必须为ReadWriteMany
       capacity:
         storage: 1Gi     # 对象存储容量大小
       csi:
         driver: obs.csi.everest.io        # 挂载依赖的存储驱动
         fsType: obsfs                     # 实例类型
         volumeHandle: <your_volume_id>    # 对象存储的名称
         volumeAttributes:
           storage.kubernetes.io/csiProvisionerIdentity: everest-csi-provisioner
           everest.io/obs-volume-type: STANDARD
           everest.io/region: <your_region>                        # 对象存储的区域
           everest.io/enterprise-project-id: <your_project_id>     # 可选字段，企业项目ID，仅限于已开通企业项目的企业客户账号使用。如果指定企业项目，则创建PVC时也需要指定相同的企业项目，否则PVC无法绑定PV
         nodePublishSecretRef:            # 设置对象存储的自定义密钥
           name: <your_secret_name>       # 自定义密钥的名称
           namespace: <your_namespace>    # 自定义密钥的命名空间
       persistentVolumeReclaimPolicy: Retain    # 回收策略
       storageClassName: csi-obs               # 存储类名称
       mountOptions:                            # 挂载参数
       - umask=027
     ```
     
     
  
  3. PV创建后，可以创建PVC关联PV，然后在工作负载的容器中挂载，具体操作步骤请参见[通过静态存储卷使用已有对象存储](https://support.huaweicloud.com/usermanual-cce-autopilot/cce_11_0379.html)。
   
- [在StorageClass中设置挂载参数]
  在StorageClass中设置挂载参数同样可以通过mountOptions字段实现，如下所示，mountOptions支持挂载的字段请参见[对象存储挂载参数]。
  1. 使用kubectl连接集群，详情请参见[通过kubectl连接集群](https://support.huaweicloud.com/usermanual-cce-autopilot/cce_11_0107.html)。
  
  2. 创建自定义的StorageClass，示例如下： 
     ```
     kind: StorageClass
     apiVersion: storage.k8s.io/v1
     metadata:
       name: csi-obs-mount-option
     provisioner: everest-csi-provisioner
     parameters:
       csi.storage.k8s.io/csi-driver-name: obs.csi.everest.io
       csi.storage.k8s.io/fstype: s3fs
       everest.io/obs-volume-type: STANDARD
     reclaimPolicy: Delete
     volumeBindingMode: Immediate
     mountOptions:                            # 挂载参数
     - umask=027
     ```
     
     
  
  3. StorageClass设置好后，就可以使用这个StorageClass创建PVC，动态创建出的PV会默认带有StorageClass中设置的挂载参数，具体操作步骤请参见[通过静态存储卷使用已有对象存储](https://support.huaweicloud.com/usermanual-cce-autopilot/cce_11_0379.html)。
   
