K8S有状态服务-云盘扩容解决方案

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 使用云盘创建有状态服务时往往有一个痛点:开始申请云盘的时候不能准确估计服务能用多大存储空间,申请的云盘在服务运行一段时间后空间不够使用!!

介绍

使用云盘创建有状态服务时往往有一个痛点:开始申请云盘的时候不能准确估计服务能用多大存储空间,申请的云盘在服务运行一段时间后空间不够使用!!

本文介绍容器服务使用云盘时,如果进行磁盘扩容;

建议在扩容数据盘之前手动创建快照,以备份数据。

云盘扩容参考文档:https://help.aliyun.com/document_detail/25452.html

创建服务

参考动态云盘服务创建步骤:

# kubectl create -f dynamic.yaml

# kubectl get pod
NAME                             READY     STATUS    RESTARTS   AGE
nginx-dynamic-69f9bd7b8c-hlkxj   1/1       Running   0          29s

# kubectl get pv
NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS    CLAIM              STORAGECLASS                  REASON    AGE
d-2ze8enovtwtk8frhdzn0   20Gi       RWO            Retain           Bound     default/disk-ssd   alicloud-disk-ssd-beijing-b             1m

当前使用一个20G的SSD云盘,在云盘中创建一个临时文件:


# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj df | grep data
/dev/vdc        20511312   45080  19401272   1% /data

# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj ls /data
lost+found

# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj touch /data/disk
# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj ls /data
disk   lost+found    

扩容云盘

1. 停止服务、卸载云盘

删除deploy应用,云盘会自动卸载:

# kubectl delete deploy nginx-dynamic

到云盘控制台查看云盘:d-2ze8enovtwtk8frhdzn0 处于待挂载状态。如果没有卸载成功,可以在控制台执行卸载。

2. 在控制台进行扩容

在ECS控制台对应的云盘信息行中,点击:更多 -- 磁盘扩容 选项,进行云盘扩容,参考:https://help.aliyun.com/document_detail/25452.html

将云盘的大小从20G扩展到30G,扩容完成即可在控制台看到效果。

3. 扩容文件系统

选择一个节点,在控制台上把云盘到这个节点,并记录其挂载的设备名(例如:/dev/vdd);

执行文件系统扩容:

# e2fsck -f /dev/vdd
# resize2fs /dev/vdd

重新创建服务

重新创建服务:

# kubectl create -f dynamic.yaml

# kubectl get pod
NAME                             READY     STATUS    RESTARTS   AGE
nginx-dynamic-69f9bd7b8c-68kqp   1/1       Running   0          7s

查看云盘大小:

# kubectl exec nginx-dynamic-69f9bd7b8c-68kqp df | grep data
/dev/vdd        30832548   45036  29198264   1% /data

验证数据一致性:

# kubectl exec nginx-dynamic-69f9bd7b8c-68kqp ls /data
disk    lost+found
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1月前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
4天前
|
Kubernetes Ubuntu Linux
k8s部署grafana beyla实现app应用服务依赖图可观测
k8s部署grafana beyla实现app应用服务依赖图可观测
16 4
|
17天前
|
Kubernetes 前端开发 Serverless
Serverless 应用引擎产品使用合集之如何调用Kubernetes集群内服务
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
30天前
|
域名解析 Kubernetes 网络协议
【域名解析DNS专栏】云原生环境下的DNS服务:Kubernetes中的DNS解析
【5月更文挑战第29天】本文探讨了Kubernetes中的DNS解析机制,解释了DNS如何将服务名转换为网络地址,促进集群内服务通信。Kubernetes使用kube-dns或CoreDNS作为内置DNS服务器,每个Service自动分配Cluster IP和DNS条目。通过示例展示了创建Service和使用DNS访问的流程,并提出了优化DNS解析的策略,包括使用高性能DNS解析器、启用DNS缓存及监控日志,以实现更高效、可靠的DNS服务。
|
1月前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
233 3
|
26天前
|
Kubernetes 微服务 容器
Aspire项目发布到远程k8s集群
Aspire项目发布到远程k8s集群
379 2
Aspire项目发布到远程k8s集群
|
15天前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
202 3
|
17小时前
|
Kubernetes 应用服务中间件 nginx
K8s高可用集群二进制部署-V1.20
2.4 部署Etcd集群 以下在节点1上操作,为简化操作,待会将节点1生成的所有文件拷贝到节点2和节点3. 1. 创建工作目录并解压二进制包 mkdir /opt/etcd/{bin,cfg,ssl} -p tar zxvf etcd-v3.4.9-linux-amd64.tar.gz mv etcd-v3.4.9-linux-amd64/{etcd,etcdctl} /opt/etcd/bin/
|
6天前
|
Kubernetes 算法 API
K8S 集群认证管理
【6月更文挑战第22天】Kubernetes API Server通过REST API管理集群资源,关键在于客户端身份认证和授权。
|
17天前
|
Kubernetes 数据处理 调度
天呐!部署 Kubernetes 模式的 Havenask 集群太震撼了!
【6月更文挑战第11天】Kubernetes 与 Havenask 集群结合,打造高效智能的数据处理解决方案。Kubernetes 如指挥家精准调度资源,Havenask 快速响应查询,简化复杂任务,优化资源管理。通过搭建 Kubernetes 环境并配置 Havenask,实现高可扩展性和容错性,保障服务连续性。开发者因此能专注业务逻辑,享受自动化基础设施管理带来的便利。这项创新技术组合引领未来,开启数据处理新篇章。拥抱技术新时代!

相关产品

  • 容器服务Kubernetes版