我们的应用程序要求两个文件存储上都存在数据。在我们当前的 Kubernetes 配置中,我们使用如下持久卷:
apiVersion: v1
kind: PersistentVolume
metadata:
name: fileserver-input
spec:
capacity:
storage: 1T
accessModes:
- ReadWriteMany
nfs:
path: /mypath
server: XX.XXX.XXX.XXX
然后我们将其作为卷添加到我们的部署中:
volumeMounts:
- mountPath: /mypath
name: my-path
如何实现这一点Cloud Run on GKE
?我们尝试运行命令在 docker 容器中挂载文件存储,但没有成功,因为容器没有以特权运行。
有没有办法像常规那样指定volumeMount GKE
,或者在特权模式下运行容器Cloud Run on GKE
?
答案1
使用- -容器特权标志以运行时权限运行容器。
运行类似下面的命令:
gcloud compute instances create-with-container busybox-vm \
--container-image docker.io/busybox:1.27 \
--container-privileged
请记住将图像更改为您自己的图像。
您可以在这里找到更多信息:gcloud-容器。
我希望它有帮助。
答案2
据我了解,目前它尚不受支持: https://cloud.google.com/run/docs/using-gcp-services
答案3
我们刚刚为 Cloud Run 添加了对网络文件系统的支持。以下是文档:
文件存储:https://cloud.google.com/run/docs/tutorials/network-filesystems-filestore 云存储FUSE:https://cloud.google.com/run/docs/tutorials/network-filesystems-fuse 其他:https://cloud.google.com/run/docs/using-network-file-systems