我对 k8s 相当陌生,所以如果我误用了 k8s 术语,请原谅我。我希望有人能给我指出正确的方向,并建议最好的方法。
我有一个 k8s 集群在一组树莓派上运行。我想添加一个所有工作人员都可以访问的数据库卷。我打算使用 USB 外部驱动器来存储数据库内容。
我想将外部驱动器安装到主节点吗?
如何将外部驱动器声明为 k8s 资源?
配置完成后,其他 k8s 节点中的 pod 如何访问此外部驱动器?
读完 k8s Volumes 页面后,听起来我可能正在寻找“本地”类型的 Volume。如果我将本地卷挂载到主节点,我是否能够在工作节点中运行 postgres 容器并访问挂载在主节点上的卷?
最佳答案
最简单的事情就是set up NFS server在主节点上,通过 NFS 导出 USB 驱动器,然后将其挂载为 pod 中的持久卷。为此,您需要首先创建 PersistentVolume:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
nfs:
server: master-node-ip
path: /mnt/nfsserver
然后创建相同大小的PersistentVolumeClaim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 5Gi
之后,您可以将此 PVC 挂载到所有需要的 pod 上:
volumeMounts:
- name: nfs
mountPath: "/usr/share/nginx/html"
volumes:
- name: nfs
persistentVolumeClaim:
claimName: nfs
关于database - 将数据库添加到树莓派 kubernetes 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785628/