在Kubernetes中安装豆荚目录



我有一个应用程序,该应用程序可以从目录中访问几个文件。我经历了Kubernetes的数量,持续的数量和音量主张。这是一个多节点的kubernetes群集。我们是否有任何可以使用的直接解决方案,不需要任何外部存储,例如NFS服务器等?

我有一个VM服务器,从那里我执行kubernetes命令。我是Kubernetes的新手,所以请帮助我。

我也在研究当地的持久卷。是否有一个链接,我可以浏览一个示例。我正在寻找本地https://kubernetes.io/docs/concepts/storage/volumes/#local

但该示例不能解释以下在nodeaffinity下:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: example-pv
spec:
  capacity:
    storage: 100Gi
  # volumeMode field requires BlockVolume Alpha feature gate to be enabled.
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  storageClassName: local-storage
  local:
    path: /mnt/disks/ssd1
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - example-node

这取决于您的用例,如果要在群集中共享的文件大于几兆字节,则您需要某种存储操作员。本地存储可能不是您要寻找的。


对于小文件(配置,密钥,init脚本(

如果文件很小,例如配置文件或ssh键或类似文件,则可以使用kubernetes configmap(或秘密(。这将允许您设置一些文件或目录,其中几个文件。查看文档


大型文件(共享数据,图形,二进制文件(

但是,如果您想共享几百个兆字节或千兆字节的文件,则需要一个带有群集的存储提供商。

如果您使用的是云提供商,例如Google,AWS或Azure,则应该简单地使用云提供商,则需要使用云提供商创建一个持久磁盘,并将所需数据复制到磁盘上。完成此操作后,只需遵循相关云提供商的指南:

  • Google Cloud -GCE持久磁盘
  • aws-弹性块存储
  • Azure -Azure Disk

(@JustCompile指出AWS不支持多个仅阅读的安装座,我找不到Azure的类似信息(

如果但是,您正在运行自己的kubernetes群集" baremetal&quort",您必须设置NFS服务器,Ceph群集,并且可能在顶部使用诸如Rook之类的东西。

最新更新