云服务器内容精选

  • 导入存储池 创建节点时导入 在创建节点时,在存储配置中可以为节点添加数据盘,选择“作为临时存储卷”导入存储池,详情请参见创建节点。 图1 导入临时卷 手动导入 如果创建节点时没有导入临时存储卷,或当前存储卷容量不够,可以进行手动导入。 前往ECS控制台为节点添加SCSI类型的磁盘。操作步骤详情请参见新增磁盘。 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中选择“存储”,并切换至“存储池”页签。 查看已添加磁盘的节点,选择“导入临时卷”,导入时可以选择写入模式。 如存储池列表中未找到手动挂载的磁盘,请耐心等待1分钟后刷新列表。 线性:线性逻辑卷是将一个或多个物理卷整合为一个逻辑卷,实际写入数据时会先往一个基本物理卷上写入,当存储空间占满时再往另一个基本物理卷写入。 条带化:创建逻辑卷时指定条带化,当实际写入数据时会将连续数据分成大小相同的块,然后依次存储在多个物理卷上,实现数据的并发读写从而提高读写性能。多块卷才能选择条带化。
  • 通过kubectl使用本地临时卷 请参见通过kubectl连接集群配置kubectl命令。 创建并编辑nginx-emptydir.yaml文件。 vi nginx-emptydir.yaml YAML文件内容如下: apiVersion: apps/v1 kind: Deployment metadata: name: nginx-emptydir namespace: default spec: replicas: 2 selector: matchLabels: app: nginx-emptydir template: metadata: labels: app: nginx-emptydir spec: containers: - name: container-1 image: nginx:latest volumeMounts: - name: vol-emptydir # 卷名称,需与volumes字段中的卷名称对应 mountPath: /tmp # emptyDir挂载路径 imagePullSecrets: - name: default-secret volumes: - name: vol-emptydir # 卷名称,可自定义 emptyDir: medium: LocalVolume # emptyDir磁盘介质设置为LocalVolume,表示使用本地临时卷 sizeLimit: 1Gi # 卷容量大小 创建工作负载。 kubectl apply -f nginx-emptydir.yaml
  • EmptyDir的类型 CCE提供了如下两种EmptyDir类型: 临时路径:Kubernetes原生的EmptyDir类型,生命周期与容器实例相同,并支持指定内存作为存储介质。容器实例消亡时,EmptyDir会被删除,数据会永久丢失。 本地临时卷:本地临时存储卷将节点的本地数据盘通过LVM组成存储池(VolumeGroup),然后划分LV作为EmptyDir的存储介质给容器挂载使用,相比原生EmptyDir默认的存储介质类型性能更好。
  • 临时卷介绍 当有些应用程序需要额外的存储,但并不关心数据在重启后是否仍然可用。 例如,缓存服务经常受限于内存大小,而且可以将不常用的数据转移到比内存慢的存储中,对总体性能的影响并不大。另有些应用程序需要以文件形式注入的只读数据,比如配置数据或密钥。 Kubernetes中的临时卷(Ephemeral Volume),就是为此类场景设计的。临时卷会遵从Pod的生命周期,与 Pod一起创建和删除。 Kubernetes中常用的临时卷: EmptyDir:Pod启动时为空,存储空间来自本地的kubelet根目录(通常是根磁盘)或内存。EmptyDir是从节点临时存储中分配的,如果来自其他来源(如日志文件或镜像分层数据)的数据占满了临时存储,可能会发生存储容量不足的问题。 ConfigMap:将ConfigMap类型的Kubernetes数据以数据卷的形式挂载到Pod中。 Secret:将Secret类型的Kubernetes数据以数据卷的形式挂载到Pod中。