前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE操作指南 - PV,PVC,StoragClass配置使用(十三)

TKE操作指南 - PV,PVC,StoragClass配置使用(十三)

原创
作者头像
亮哥说TKE
修改2019-08-15 11:21:20
1.9K0
修改2019-08-15 11:21:20
举报
文章被收录于专栏:TKETKE

在讲解TKE存储,我们先了解以下几个概念。

简介

PersistentVolume(PV):集群内的存储资源,例如节点是集群的资源。PV 独立于 Pod 的生命周期,根据不同的 StorageClass 类型创建不同类型的 PV。 PersistentVolumeClaim(PVC):集群内的存储请求。例如,PV 是 Pod 使用节点资源,PVC 则声明使用 PV 资源。当 PV 资源不足时,PVC 也可以动态创建 PV。

StorageClass 描述存储的类型,集群管理员可以为集群定义不同的存储类别。腾讯云 TKE 服务默认提供块存储类型的 StorageClass,通过 StorageClass 配合 PersistentVolumeClaim 可以动态创建需要的存储资源。

注意事项

  • CBS 盘不支持跨可用区挂载。若挂载 CBS 类型 PV 的 Pod 迁移到其他可用区,将会导致挂载失败。
  • TKE 控制台不支持 CBS 盘扩缩容,请自行前往 CBS 控制台执行操作。

配置步骤

1.创建StoragClass

2.创建PVC通过界面挂载

3.创建PVC通过yaml文件挂载

4.验证挂载成功

1.创建Storagclass

点击并展开存储,点击StorageClass,进入 StorageClass 信息页面,点击新建。

根据实际需求,设置 StorageClass 参数。关键参数信息如下:

  • 名称:自定义。(我填写的是cbs)
  • 计费模式:根据实际需求进行选择。(我选择的是按量计费)
  • 可用区:根据实际需求进行设置,默认为 “随机可用区”。(我这里选择广州二区)
  • 云盘类型:根据实际需求进行选择。(我选择的是普通盘)
  • 回收策略:根据实际需求进行选择。(我选择的是删除)

单击【创建StorageClass】,完成创建。

至此,storageclass创建完成!

2.创建PVC通过界面挂载

2.1 创建PVC数据卷

展开存储,选择并点击PersitentVolumeClaim,点击新建

输入PVC数据卷名称,输入容量大小(我这里填写10G,用于测试),其他参数默认,点击创建PersitentVolumeClaim

至此PVC创建完成!

2.2 将数据卷挂载至wordpress容器

现在我要将创建10G的PVC卷挂载至wordpress nginx容器的/tmp目录

界面方式挂载:

3.创建PVC通过yaml文件挂载

现在我要将创建10G的PVC卷挂载至wordpress nginx容器的/tmp目录

创建PVC流程,可参考步骤2中的2.1 创建PVC数据卷

这里需要登录node节点机器,执行

# kubectl get deployment //查看deployment任务

# kubectl edit deployment wordpress //编辑deployment wordpress yaml文件,进行参数添加

添加如下框选处的YAML文件内容(pvc-data是之前创建PVC的名称),然后执行:wq保存退出即可。

修改后的wordpress yaml文件内容如下:

代码语言:javascript
复制
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  generation: 1
  labels:
    k8s-app: wordpress
    qcloud-app: wordpress
  name: wordpress
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: wordpress
      qcloud-app: wordpress
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s-app: wordpress
        qcloud-app: wordpress
    spec:
      containers:
      - env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        image: ccr.ccs.tencentyun.com/liangfeng/test:test-nginx-201908051618-d852fb93feb0e32c386f4facb8550a3e1e679066
        imagePullPolicy: IfNotPresent
        name: nginx
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        volumeMounts:
        - mountPath: /tmp
          name: data-volume
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      - env:
        - name: PATH
          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        image: ccr.ccs.tencentyun.com/liangfeng/test:test-php-201908051634-7ec4253f2f17431d387aadecbf3d2b79a690681f
        imagePullPolicy: IfNotPresent
        name: php
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 250m
            memory: 256Mi
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      imagePullSecrets:
      - name: qcloudregistrykey
      - name: tencenthubkey
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - name: data-volume
        persistentVolumeClaim:
          claimName: pvc-data

4.验证挂载成功

pod管理中,点击远程登录,再登录,此时进入nginx容器控制台,执行df -h,可以看到PVC 10G数据卷已挂载在/tmp目录,挂载成功!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在讲解TKE存储,我们先了解以下几个概念。
  • 简介
    • 注意事项
    • 配置步骤
    • 1.创建Storagclass
    • 2.创建PVC通过界面挂载
    • 3.创建PVC通过yaml文件挂载
    • 4.验证挂载成功
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档