扫一扫
关注微信公众号

为云中的容器设置持久性存储
2022-10-27   新钛云服

  容器的持久存储是企业用户(包括那些在云中运行工作负载的用户)的普遍需求。

  容器实例是短暂的;一旦单个容器被破坏,它就不会留下任何东西。结果,需要持久性的工作负载(无论是通过保存状态和工作产品还是访问共享数据库)都必须与外部系统进行交互。

  为了满足此需求,Docker和Kubernetes等管理平台以及来自AWS,Azure和Google的云容器管理服务提供了连接到存储卷,网络文件系统和数据库的机制。

  由于有很多方法可以为云中的容器实现永久性存储,因此管理员必须选择最能满足其独特存储需求的选项。

  CaaS和Kubernetes的背景

  容器即服务(CaaS)产品因其便捷性,可移植性,安全性,可伸缩性,性能和灵活性而成为自托管Kubernetes安装的越来越受欢迎的替代方案。云托管容器的多功能性可以使用云服务提供商的本机服务,这对于那些偏爱在线服务而不是私有容器基础架构的组织而言,是一个巨大的诱因。

  Kubernetes已成为首选的集群管理平台。它可以通过诸如AmazonElasticKubernetes服务(EKS),AzureKubernetes服务(AKS)和GoogleKubernetesEngine(GKE)之类的产品获得。但是,云用户仍然可以使用几个选项来使用诸如AmazonElasticComputeCloud的专用计算实例或通过AWSFargate,Azure容器实例或GKE节点自动预配置的服务按需容器实例来配置群集节点。

  无论管理员如何部署群集节点,Kubernetes控制平面都提供了几种连接到永久卷和文件共享的方法,包括由云存储服务创建的卷和文件共享。

  Kubernetes存储选项

  Kubernetes中的存储使用可能会造成混乱,因为该平台具有很高的灵活性并支持众多存储平台。实际上,Kubernetes存储在概念上很简单,归结为将pod(一个或多个共享名称空间,卷和其他设置的容器)连接到外部卷。卷可以是:

  逻辑磁盘和挂载点;

  阻止存储服务,例如AmazonElasticBlockStore(EBS)或Azure磁盘;

  网络文件共享,来自运行NFS,Ceph(CephFS)等的存储阵列,或来自AmazonElasticFileSystem(EFS)或GoogleCloudFilestore等云文件服务。

  根据Kubernetes文档,卷只是一个目录,其中可能包含一些数据,吊舱中的容器可以访问该目录。管理员使用的特定卷类型将确定该目录的名称,支持该目录的介质及其内容。

  支持多种存储类型的灵活性源于容器存储接口(CSI),该标准是将块和文件存储公开给容器协调器(包括CloudFoundry,Kubernetes,Mesos和Nomad)的标准。Pod使用.spec.volumes文件中的配置来装载卷,但是管理员不能嵌套卷。一个卷不能挂载或具有指向其他卷的符号链接。每个支持的卷类型都有一个不同的关键字,如Kubernetes文档中所指定;例如,用于EBS的awsElasticBlockStore,用于Azure文件的azureFile或用于SANiSCSI卷的iscsi。

  管理员经常使用持久卷带Kubernetes功能叫做StatefulSets,管理一套吊舱的部署和扩展的API。它提供了唯一的,持久的身份,永久的主机名以及有序的自动滚动代码更新。根据Kubernetes文档,StatefulSet中的各个Pod可能会失败,但是持久Pod标识符有助于将现有卷与替换发生故障的新Pod进行匹配。

  容器中运行的应用程序还可以使用大多数语言提供的OpenDatabaseConnectivity驱动程序通过IP连接到外部数据库。当管理员将AKS与用于PostgreSQL的Azure数据库连接时,某些云服务(例如Azure)提供了说明,以最大化网络性能并最小化数据库开销。

  其他云数据库服务使用Sidecar代理来支持连接方法。例如,GoogleCloudSQL代理是一种安全可靠的方法,可以将GKE应用程序链接到CloudSQL实例。Google提供了将外部服务映射到Kubernetes的最佳实践,例如为外部数据库创建服务端点,以及将统一资源标识符与端口映射一起用于托管数据库服务。


  因为CaaS产品使用现有的存储接口,并且有用于云块和文件服务的CSI驱动程序,所以Pod部署可以在私有,自我管理的存储卷和共享或云资源之间进行选择。

  某些最受欢迎的CSI驱动程序选项包括:

  AmazonEKSEBSCSI驱动程序

  AmazonEKSEFSCSI驱动程序

  Azure磁盘CSI驱动程序

  Azure文件AKSCSI驱动程序

  GCPGKE永久磁盘CSI驱动程序

  GCPGKE文件存储连接

  GKE的GCPCloudSQL代理

  同样,KubernetesPod可以使用NFSCSI驱动程序连接到私有NAS。多家企业存储提供商提供了针对Kubernetes设计的CSI和存储软件,例如DellEMCCSI插件,NetAppTrident和PureStoragePortworx。

  *原文链接:https://searchstorage.techtarget.com/tip/Set-up-persistent-storage-for-containers-in-the-cloud

热词搜索:存储 容器

上一篇:边缘计算点燃跨行业的创新革命
下一篇:最后一页

分享到: 收藏