详情页标题前

腾讯云容器服务在线扩容云硬盘同尘科技

详情页1

操作场景

TKE 支持在线扩容 PV、对应的云硬盘及文件系统,即不需要重启 Pod 即可完成扩容。为确保文件系统的稳定性,建议在云硬盘文件系统处于未挂载状态时进行操作。

前提条件

已创建1.16或以上版本的 TKE 集群。已将 CBS-CSI 更新为最新版本。(可选)为避免扩容失败导致数据丢失,可以在扩容前 使用快照备份数据。1.20以下集群非 CBS-CSI 类型的 PV 不支持在线扩容。

操作步骤

创建允许扩容的 StorageClass

使用以下 YAML 创建允许扩容的 StorageClass,在 Storageclass 中设置 allowVolumeExpansiontrue。示例如下:

allowVolumeExpansion: trueapiVersion: storage.k8s.io/v1kind: StorageClassmetadata:  name: cbs-csi-expandparameters:  diskType: CLOUD_PREMIUMprovisioner: com.tencent.cloud.csi.cbsreclaimPolicy: DeletevolumeBindingMode: Immediate

在线扩容

提供以下两种扩容方式:

扩容方式 说明
重启 Pod 的情况下在线扩容 待扩容的云硬盘文件系统未被挂载,能够避免扩容出错以及方式2存在的问题。推荐使用该方式进行扩容
不重启 Pod 的情况下在线扩容 在节点上挂载着待扩容的云硬盘文件系统,如果存在 I/O 进程,将可能出现文件系统扩容错误。

重启Pod情况下在线扩容不重启Pod情况下在线扩容1. 执行以下命令,确认扩容前 PV 和文件系统状态。示例如下,PV 和文件系统大小均为30G:

$ kubectl exec ivantestweb-0 df /usr/share/nginx/htmlFilesystem     1K-blocks  Used Available Use% Mounted on/dev/vdd        30832548 44992  30771172   1% /usr/share/nginx/html$ kubectl get pv pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                        STORAGECLASS   REASON   AGEpvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c   30Gi       RWO            Delete           Bound    default/www1-ivantestweb-0   cbs-csi                 20h

2. 执行以下命令,为 PV 对象打上一个非法 zone 标签,旨在下一步重启 Pod 后,使 Pod 无法调度到某个节点上。示例如下:

$ kubectl label pv pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c failure-domain.beta.kubernetes.io/zone=nozone

3. 执行以下命令重启 Pod,重启后由于 Pod 对应的 PV 的标签表明的是非法 zone,Pod 将处于 Pending 状态。示例如下:

$ kubectl delete pod ivantestweb-0$ kubectl get pod ivantestweb-0NAME            READY   STATUS    RESTARTS   AGEivantestweb-0   0/1     Pending   0          25s$ kubectl describe pod ivantestweb-0Events:Type     Reason            Age                 From               Message----     ------            ----                ----               -------Warning  FailedScheduling  40s (x3 over 2m3s)  default-scheduler  0/1 nodes are available: 1 node(s) had no available volume zone.

4. 执行以下命令,修改 PVC 对象中的容量,将容量扩容至40G。示例如下:

kubectl patch pvc www1-ivantestweb-0 -p '{"spec":{"resources":{"requests":{"storage":"40Gi"}}}}'

注意扩容后的PVC对象容量的大小必须为10的倍数,不同云硬盘类型所支持的存储容量规格可参考说明 创建云硬盘。5. 执行以下命令,去除 PV 对象之前打上的标签, 标签去除之后 Pod 即可调度成功。示例如下:

$ kubectl label pv pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c failure-domain.beta.kubernetes.io/zone-persistentvolume/pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c labeled

6. 执行以下命令,可以查看到 Pod 状态为 Running、对应的 PV 和文件系统扩容成功,从30G扩容到40G。示例如下:

$ kubectl get pod ivantestweb-0NAME            READY   STATUS    RESTARTS   AGEivantestweb-0   1/1     Running   0          17m$ kubectl get pv pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9cNAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                        STORAGECLASS   REASON   AGEpvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c   40Gi       RWO            Delete           Bound    default/www1-ivantestweb-0   cbs-csi                 20h$ kubectl get pvc www1-ivantestweb-0NAME                 STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGEwww1-ivantestweb-0   Bound    pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c   40Gi       RWO            cbs-csi        20h$ kubectl exec ivantestweb-0 df /usr/share/nginx/htmlFilesystem     1K-blocks  Used Available Use% Mounted on/dev/vdd        41153760 49032  41088344   1% /usr/share/nginx/html

1. 执行以下命令,确认扩容前 PV 和文件系统状态。示例如下,PV 和文件系统大小均为20G:

$ kubectl exec ivantestweb-0 df /usr/share/nginx/htmlFilesystem     1K-blocks  Used Available Use% Mounted on/dev/vdd        20511312 45036  20449892   1% /usr/share/nginx/html$ kubectl get pv pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9cNAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                        STORAGECLASS   REASON   AGEpvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c   20Gi       RWO            Delete           Bound    default/www1-ivantestweb-0   cbs-csi                 20h

2. 执行以下命令,修改 PVC 对象中的容量,将容量扩容至30G。示例如下:

$ kubectl patch pvc www1-ivantestweb-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'

注意扩容后的PVC对象容量的大小必须为10的倍数,不同硬盘类型所支持的存储容量规格可参考说明 创建云硬盘。3. 执行以下命令,可以查看到 PV 和文件系统已扩容至30G。示例如下:

$ kubectl exec ivantestweb-0 df /usr/share/nginx/htmlFilesystem     1K-blocks  Used Available Use% Mounted on/dev/vdd        30832548 44992  30771172   1% /usr/share/nginx/html$ kubectl get pv pvc-e193201e-6f6d-48cf-b96d-ccc09225cf9cNAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                        STORAGECLASS   REASON   AGEpvc-e193201e-6f6d-48cf-b96d-ccc09225cf9c   30Gi       RWO            Delete           Bound    default/www1-ivantestweb-0   cbs-csi                 20h



容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/147603.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云容器服务Service&Ingress 常见报错和处理同尘科技

    Kuberentes 通过声明式的方式管理资源,声明式 API 只需要声明一个期望的状态,系统就会自行调节以满足该状态。但声明式 API 也引入新的问题:无法感知资源当前状态信息,对任务的流程把握不够清晰。为了保证负载均衡实例配置信息的一致性,整个 Service/Ingress 是作为一个资源整体进行同步的。若 CLB 类型的 Service/Ingres…

    2023年12月9日
  • 腾讯云云点播加速分发播放

    简介 云点播拥有覆盖全球 2800+ CDN 加速节点,使全球各地用户可就近获取所需的媒体内容,避免因跨运营商、跨地域、跨境等因素引起网络不稳定、访问延迟高等问题,有效提升媒体下载速度,为用户提供流畅的媒体内容加速体验。云点播内置默认域名,在用户没有域名的情况下使用预置域名根据地理位置就近分发资源,使您能快速获得视频播放资源,有效解决时延问题,同时也支持自定…

    腾讯云 2023年12月9日
  • 腾讯云CVM服务器提升实例购买数量配额

    操作场景 腾讯云对各个可用区、各计费模式的云服务器实例有一定的购买数量配额限制。若已有的购买数量配额已无法满足您的实际需求,请参考本文申请提升云服务器实例的购买数量配额。 操作步骤 用户未购买实例用户已购买实例1. 登录云 服务器控制台,选择左侧导航栏中的 概览。在概览页面,单击申请配额。如下图所示: 2. 点击后打开申请配额弹窗,选择并填写需要提升购买配…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库数据库代理费用-云淘科技

    本文介绍RDS PostgreSQL数据库代理的计费规则。 注意事项 数据库代理、只读实例和主实例均独立收费,三者互不干扰。 主实例被锁定期间,代理不会被释放,可继续提供读服务,但无法提供写服务。 主实例若被释放,代理自动跟随主实例释放,释放后不再产生费用。 RDS PostgreSQL数据库代理功能正在逐步开放中,当前支持的地域及可用区如下: 地域 可用区…

    阿里云数据库 2023年12月9日
  • Flink在同一个任务中,创建了多个mysql cdc源表,这些源表会复用同一个连接池嘛?-云小二-阿里云

    Flink在同一个任务中,创建了多个mysql cdc源表,这些源表会复用同一个连接池嘛? 以下为热心网友提供的参考意见 在Apache Flink中,当您在一个任务中创建了多个MySQL CDC源表时,通常情况下,这些源表会共享同一个数据库连接池。这是因为Flink的CDC Connectors(如MySQL CDC Connector)通常会为每个任务配…

    阿里云 2023年12月13日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。