gpt4 book ai didi

kubernetes - 在 kubernetes 中挂载 pod 的目录

转载 作者:行者123 更新时间:2023-12-02 11:44:51 25 4
gpt4 key购买 nike

我有一个应用程序可以从一个目录访问几个文件。我浏览了 Kubernetes 卷和持久卷以及卷声明。这是一个多节点 Kubernetes 集群。我们是否有任何可以使用的直接解决方案,不需要像 nfs 服务器等任何外部存储?

我有一个虚拟机服务器,我可以在其中执行我的 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

最佳答案

这取决于您的用例,如果您要在集群中共享的文件大小超过几兆字节,您将需要某种存储运算符(operator)。本地存储可能不是您想要的。

对于小文件(配置、 key 、初始化脚本)
如果文件很小,例如配置文件或 ssh key 或类似文件,您可以使用 kubernetes configmap(或 secret )。这将允许您使用一些文件设置一些文件或目录。 Checkout the documentation

对于大文件(共享数据、图形、二进制文件)
但是,如果您想共享几百兆字节或千兆字节的文件,您的集群需要一个存储提供程序。
如果您使用的是云提供商,例如 Google、AWS 或 Azure,这应该很简单,您需要使用您的云提供商创建一个永久磁盘并将所需的数据复制到磁盘上。完成后,只需按照相关云提供商的指南进行操作:

  • 谷歌云 - GCE Persistent Disk
  • AWS - Elastic Block Storage
  • 天蓝色 - Azure Disk

  • (@justcompile 指出 AWS 不支持实例的多个只读挂载,我无法找到 Azure 的类似信息)
    但是,如果您在“baremetal”上运行自己的 kubernetes 集群,则必须设置 NFS 服务器, Ceph cluster。并且可能使用 rook 之类的东西在上面。

    关于kubernetes - 在 kubernetes 中挂载 pod 的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50016515/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com