database - 将数据库添加到树莓派 kubernetes 集群

标签 database kubernetes raspberry-pi

我对 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/

相关文章:

kubernetes - 使用 libvirt 启动 Codeready 容器会导致 "format of backing image was not specified in the image metadata"

raspberry-pi - Raspberry Pi iBeacon 扫描解析响应

linux - 在启动时、x11 启动之前、USB 填充之后运行脚本

docker - 如何解决 Raspberry Pi 上的 Gradle docker 图像卡住问题并发出有关单调时钟的警告?

database - django,多个数据库,配置问题: "Error importing database router"

java - 从我的应用程序运行例行备份

c# - 如何使用 Ocelot API 网关重新路由支持 Kubernetes 就绪/事件探测?

java - 如何在应用程序模式下将 java 参数传递给 Flink 作业工件

java - sqlite 数据库连接 : java. Lang.ClassNotFoundException : org. sqlite.JDBC

mysql - 四舍五入到最接近的 0.49 或 0.99