据我所知,在Kubernetes中,您不希望将pod绑定到主机,但在某些情况下您可能需要。
在我的特定情况下,我有一个DB,它存在于安装到特定主机的blockstorage上。
我想用Kubernetes实现的功能相当于Docker中的bind-mount。我想在主机上指定我需要在pod中挂载的目录,类似于:
/mnt/BTC_2:/root/.bitcoin:rw
如何指定我希望持久存储位于节点/主机上的位置?这将是hostPath
卷,如下所示:
volumeMounts:
- mountPath: /root/.bitcoin
name: test-volume
volumes:
- name: test-volume
hostPath:
# directory location on host
path: /mnt/BTC_2
答案 0 :(得分:0)
我想在主机上指定我需要在pod中安装的目录
那应该是documented here
hostPath卷将文件或目录从主机节点的文件系统安装到您的pod中。这不是大多数Pod需要的东西,但它为某些应用提供了强大的逃生舱。
警告:
在底层主机上创建的文件或目录只能由root写入。您需要在特权容器中以root身份运行您的进程,或者修改主机上的文件权限以便能够写入hostPath卷
volumes:
- name: test-volume
hostPath:
# directory location on host
path: /data
# this field is optional
type: Directory