我正在尝试从在 GKE Autopilot 中运行的 kubernetes pod 使用 gcsfuse。我了解到 GKE autopilot 可能存在问题,但我收到的错误与通常报告的错误不同。
gcsfuse 现在可以与 Autopilot 配合使用吗?还是没有希望了?csi-fuse 驱动程序是 GKE Autopilot 上的一个可能选项?
这是我看到的错误:
root@gcs-k8s-test:/mnt# gcsfuse gs://bucketXXXX /mnt/fuse
2022/08/16 01:32:17.656053 Start gcsfuse/0.41.5 (Go version go1.18.4) for app "" using mount point: /mnt/fuse
2022/08/16 01:32:17.781937 Opening GCS connection...
2022/08/16 01:32:18.164009 Mounting file system "gs://bucketXXXX"...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running /bin/fusermount: exit status 1
谢谢你的帮助。
答案1
如果您尝试启用 gcsfuse 调试( gcsfuse --foreground --debug_fuse --debug_fs --debug_gcs --debug_http bucket_name /local/mount/folder ),它可能会显示有关“/usr/bin/fusermount:未找到 fuse 设备,请先尝试‘modprobe fuse’”的错误。似乎 gcsfuse pod 需要特权模式以及“SYS_ADMIN”功能。但是,GKE Autopilot 不允许此类功能。(https://github.com/GoogleCloudPlatform/gcsfuse/issues/497)