在kubernetes中保存数据不是持久性的。所以我们应该使用音量。 例如,我们可以挂载“ / apt”以将数据保存在“ apt”中。 现在我想挂载“ /”,但出现此错误。
错误:来自守护程序的错误响应:无效的卷规范: '/var/lib/kubelet/pods/26c39eeb-85d7-11e9-933c-7c8bca006fec/volumes/kubernetes.io~rbd/pvc-d66d9039-853d-11e9-8aa3-7c8bca006fec:/': 类型“绑定”的无效安装配置:无效的规范: 目的地不能为“ /”
问题是如何在kubernetes中安装“ /”?
答案 0 :(得分:0)
不能完全确定您的环境,但是我今天遇到了这个问题,因为我希望能够通过SSH(WinSCP)浏览到主机的容器的整个根文件系统。我在Photon OS VM环境中使用Docker。我得到的答案是:您无法做您想做的事,但是您可能能够完成您想完成的事。假设我创建了一个名为mysql的卷,并使用该卷作为根创建了一个新的(简化过的)mysql容器:
docker volume create --name mysql
docker run -d --name=mysqldb -v /var/lib/docker/volumes/mysql:/ mysql:5.7
Docker会哭着说我不能挂载到root(目标不能是'/')。但是,由于我知道我们的卷所在的位置(/ var / lib / docker / volumes /),因此我们可以简单地正常创建容器,然后将任意命名的卷放置在该文件夹中。因此,如果您的目标是(像我一样)能够ssh到主机并浏览容器根目录中的文件,则可以这样做,您只需要转到正确的任意命名卷即可。在我的情况下,它是“ / var / lib / docker / volumes / 12dccb66f2eeaeefe8e1feabb86f3c6def87b091dabeccad2902851caa97f04c / _data”,虽然不如“ / var / lib / docker / volumes / mysql”,但可以完成工作。
希望能帮助某人。