La versión del cliente ossfs 1.0 se actualiza conforme itera CSI. Este tema explica el formato de versión, cómo comprobar su versión de ossfs y cómo cambiar a la versión 1.91 o posterior.
Funcionamiento de ossfs
ossfs 1.0 es un sistema de archivos en espacio de usuario que monta un bucket de OSS en un sistema de archivos local de Linux. Cuando usted monta un volumen de OSS con CSI, csi-plugin inicia un proceso ossfs que monta el bucket en una ruta del contenedor, lo cual permite operaciones de lectura y escritura POSIX en objetos de OSS.
ossfs 1.0 hereda todas las funciones de s3fs y añade:
La mayoría de las operaciones de archivo POSIX, incluidas la carga, descarga y gestión de permisos de archivos y directorios
Carga multiparte y reanudable, habilitada de forma predeterminada
Verificación MD5 para la integridad de los datos
Limitaciones
ossfs 1.0 admite la mayoría de las funciones del sistema de archivos POSIX, pero no todas. Para operaciones de archivo de alto rendimiento, utilice la versión 1.91 o posterior de ossfs 1.0. Consulte Best practices for enabling version 1.91 and later.
Formato de versión
Los números de versión de ossfs 1.0 siguen el formato x.yy.z:
x.yy: la versión upstream de s3fs. Puede revertir a una versión x.yy específica mediante variables de entorno de CSI.
z: la versión de iteración de ossfs, que agrega mejoras específicas de OSS y ACK, como monitoreo, autenticación y cifrado. Consulte csi-plugin.
Las compilaciones de contenedores incluyen un sufijo .ack.1 para distinguirlas de la versión de código abierto de ossfs, por ejemplo, 1.80.6.ack.1.
Compatibilidad de versiones
La versión de ossfs depende de la versión de CSI:
|
Arquitectura |
Versión de ossfs 1.0 |
Versión de CSI |
|
Arm64 |
1.91 y posteriores |
v1.30.1-98960d8-aliyun (habilitado mediante un feature gate) / v1.30.4-fe12624-aliyun (predeterminado) |
|
Arm64 |
1.80.x |
v1.20.5-ff6490f-aliyun (la primera versión de CSI compatible con Arm64) |
|
AMD64 |
1.91 y posteriores |
v1.30.1-98960d8-aliyun (habilitado mediante un feature gate) / v1.30.4-fe12624-aliyun (predeterminado) |
|
AMD64 |
1.88.x |
v1.22.14-820d8870-aliyun |
|
AMD64 |
1.86.x |
v1.16.9.43-f36bb540-aliyun |
|
AMD64 |
1.80.x |
Versión inicial |
Consulte Version update features.
Comprobar la versión de ossfs
La forma de comprobar la versión de ossfs depende de su versión de CSI.
CSI anterior a 1.28 (excepto 1.26.6): ossfs se ejecuta directamente en el nodo. Inicie sesión en cualquier nodo y ejecute:
/usr/local/bin/ossfs --version
CSI 1.26.6, o 1.28.1 y posteriores: ossfs se ejecuta como un pod de contenedor dentro del clúster. Seleccione su versión de CSI a continuación.
CSI 1.30.4 o posterior
CSI 1.30.4 y versiones posteriores crean pods de ossfs en el namespace ack-csi-fuse después de montar un volumen de OSS.
-
Liste los pods de ossfs en ejecución:
kubectl -n ack-csi-fuse get pod | grep csi-fuse-ossfs -
Compruebe la versión de ossfs:
kubectl -n ack-csi-fuse exec -it <csi-fuse-ossfs-xxxx> -- ossfs --version
CSI anterior a 1.30.4
Las versiones de CSI anteriores a 1.30.4 crean pods de ossfs en el namespace kube-system.
-
Liste los pods de ossfs en ejecución:
kubectl -n kube-system get pod | grep csi-fuse-ossfs -
Compruebe la versión de ossfs:
kubectl -n kube-system exec -it <csi-fuse-ossfs-xxxx> -- ossfs --version
Cambiar a ossfs 1.91 o posterior
Elija un método según su versión de CSI.
Actualizar CSI (recomendado)
CSI 1.30.4 y versiones posteriores utilizan ossfs 1.91+ de forma predeterminada, por lo que actualizar CSI cambia ossfs automáticamente.
Habilitar el feature gate UpdatedOssfsVersion
Si no puede actualizar CSI, habilite el feature gate UpdatedOssfsVersion en CSI 1.30.1 o posterior.
Qué cambia y qué no:
Los contenedores de ossfs recién iniciados utilizan automáticamente la versión 1.91 o posterior.
Las aplicaciones existentes que usan volúmenes de OSS no se ven afectadas de inmediato.
Para actualizar una aplicación en ejecución, reinicie su proceso ossfs. Consulte How do I restart the ossfs process in shared mount mode?
De forma predeterminada, los pods que montan el mismo volumen de OSS en el mismo nodo comparten un único proceso ossfs, por lo que solo se ejecuta un pod csi-fuse-ossfs-*** por volumen compartido.
Requisitos previos
csi-plugin debe ser versión 1.30.1 o posterior.
Para comprobar su versión de csi-plugin:
Inicie sesión en la consola de ACK y haga clic en Clusters en el panel de navegación izquierdo.
Haga clic en el nombre de su clúster y luego haga clic en Add-ons en el panel de navegación izquierdo.
En la página Add-ons, localice csi-plugin y compruebe su versión. Si es anterior a 1.30.1, haga clic en Upgrade en la tarjeta de csi-plugin.
Habilitar mediante kubectl
-
Edite el DaemonSet csi-plugin:
kubectl -n kube-system edit ds csi-plugin -
En la sección
argsdel contenedor csi-plugin (no en un contenedor init), agregue la bandera del feature gate:- args: - --endpoint=$(CSI_ENDPOINT) - --v=2 - --driver=oss,nas,disk - --feature-gates=UpdatedOssfsVersion=trueSi hay otros feature gates habilitados, añada al valor existente de
--feature-gates:- --feature-gates=xxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true
Habilitar desde la consola de ACK
Habilitar un feature gate desde la consola sobrescribe la configuración existente de feature gates. Si no está seguro de si hay otros feature gates habilitados, utilice kubectl en su lugar.
En la página Add-ons, haga clic en Configuration en la tarjeta de csi-plugin.
En la página csi-plugin Parameters, establezca FeatureGate en
UpdatedOssfsVersion=truey haga clic en OK. Si hay otros feature gates habilitados, utilice el formatoxxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true.