容器存储:容器网络文件系统 CNFS|学习笔记

简介: 快速学习容器存储:容器网络文件系统 CNFS

开发者学堂课程【5分钟玩转阿里云容器服务容器存储:容器网络文件系统CNFS】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1038/detail/15322


容器存储:容器网络文件系统 CNFS


内容介绍

一、什么是 CNFS?

二、Demo1:ACK 集群如何使用 cnfs

三、Demo2:共享数据、Quota 能力、扩容能


本次课程主要解决如何在 ACK 集群中使用 CNFS 存储以及 CNFS 存储的共享数据、Quota 能力和扩容能力。


一、什么是 CNFS?

针对容器中使用文件存储的优势和挑战,阿里云推出了容器网络文件系统 CNFS,内置在容器服务 ACK 中。

CNFS 通过将阿里云的文件存储抽象为一个 K8s 对象(CRD)进行独立管理,使用户可以在享受容器使用文件存储带来的便捷的同时,提高文件存储的性能和数据安全,并提供容器一致的声明式管理。


二、Demo1: ACK 集群如何使用 cnfs

在创建集群时,如果勾选创建默认 NAS 文件系统和 CNFS容器网络环境系统动态存储类型,将会在创建集群后辅助创建一个NAS文件系统和存储类。

首先观察集群中 CNFS 的状态,目前处于一种可用状态,记录了 NAS 所有的信息。

Storageclass的状态:名为alibabacloud-cnfs-nas,在parameters 处引用创建好的 cnfs 这个 crd 的名称。

用 Storageclass 创建负载,此为 statefulset,会挂在 PVC 的 storageclass,使用创建的默认的 storageclass,即 alibabacloud-cnfs-nas,大小为1G,accessModes 是 ReadWriteMany。

image.png

在创建时会调度到 cn/Hangzhou.172.16.0.162节点上,使用 nginx 镜像,nginx启动时通过 dd 命令把1G的文件写入 /data/test下面。

应用后查看 Pod 状态,进入容器查看挂载情况,创建好的 NAS文件系统挂载到 /data下,/data 大小为1G,说明创建的 sc 的 dd 命令执行成功


三、Demo2: 共享数据、Quota 能力、扩容能

Demo2会引用 demo1中的数据,验证 PVC 的 Quota 能力以及对 PVC 进行扩容操作。

Demo2 的 yaml 创建一个 statefulset,也挂载 demo1 中的 PVC。

容器内的目录也是 /data,与 demo1 最大的区别是会调度到163节点上。

image.png

apply 后在 du-sh 看 data 目录,目录大小为1.1G,说明已共享到了 demo1 中写入的数据。使用 dd 写入数据验证 Quota 能力。

在使用 dd 写入数据时,如果提示 Disk quota exceeded 说明 quota 已经生效。

使用 k8s 的 patch 进行 PVC 扩容到5G。再使用 dd 指令写数据,如果没有报错说明扩容已经成功。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5月前
|
存储 Linux 容器
【Container App】在容器中抓取网络包的方法
本文介绍在Azure Container App中安装tcpdump抓取网络包,并通过Storage Account上传抓包文件的方法。内容包括使用curl和nc测试外部接口连通性、长Ping端口、安装tcpdump、抓取网络包、以及通过crul命令上传文件至Azure Storage。适用于需要分析网络请求和排查网络问题的场景。
202 1
|
6月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
1104 39
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
4612 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
7月前
|
Kubernetes Cloud Native 区块链
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
Arista cEOS 4.30.10M - 针对云原生环境设计的容器化网络操作系统
242 0
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
1150 7
|
网络协议 Ubuntu 前端开发
好好的容器突然起不来,经定位是容器内无法访问外网了?测试又说没改网络配置,该如何定位网络问题
本文记录了一次解决前端应用集成到主应用后出现502错误的问题。通过与测试人员的沟通,最终发现是DNS配置问题导致的。文章详细描述了问题的背景、沟通过程、解决方案,并总结了相关知识点和经验教训,帮助读者学习如何分析和定位网络问题。
658 1
|
NoSQL 应用服务中间件 Redis
Docker跨宿主机容器通信-通过网络跨宿主机互联
这篇文章介绍了Docker容器跨宿主机通信的实现方法,包括Docker的四种网络模式(host、none、container、bridge)以及如何通过修改网络配置和添加路由规则来实现不同宿主机上的容器之间的互联。
1247 0
Docker跨宿主机容器通信-通过网络跨宿主机互联
|
网络协议 Shell 网络安全
docker容器网络问题
【10月更文挑战第4天】
1516 2
|
Docker 容器
docker中检查容器的网络模式
【10月更文挑战第5天】
1290 1