假设我想使用Azure容器服务或Azure应用服务,使用ASP.Net Core API或/和Web Apps挂载docker容器。
每个API使用到目前为止,对于其部分数据,主机VM(Linux / Win)中的本地存储与其他Azure管理的持久性服务并行,例如SQL,Redis,Document db等等,原因很充分。
如果我将docker容器用于应用程序,我可以为每个API的本地存储做些什么?我使用SQLite,RocksDB,文档。
是否可以将Azure托管磁盘用于docker卷?
并且他们的行为/性能与本地磁盘相同吗? 例如SQLite的文件锁定,速度。
否则,我应该继续使用VM部署
答案 0 :(得分:1)
对此的简短回答是“是”'您可以在Azure存储帐户中保留卷,并使用其他服务访问这些文件。
现在通过AKS(Azure Kubernetes服务)我正在使用Azurefile持久卷声明(' PVC')来提供我的服务量,但我绝不是专家。
在我们的案例中,我们正在努力将现有的容器化基础架构从Docker Cloud(刚刚落伍)迁移到Azure AKS。即使我们所有的容器都保持不变(试图在AKS上运行,就像在Docker Cloud上一样),这是一个相对较大的项目。对于你开发整个基础设施,我预计会花一周的时间来搞清楚这些细节。
警告:我说简短的回答是'是'因为它需要一些时间才能从#34;我想将这个东西容器化并将数据存储在一个持久的卷中。实际上让容器启动并运行,底层基础架构按照你的描述运行。
根据我的经验,从本地托管在Kubernetes节点(Azure VM)文件系统上的持久卷转移到存储帐户,我的Web应用程序停留了几百毫秒(总计),但我也没有尝试优化它。
我们的加载时间从1.3-1.4秒增加到1.5-1.6秒。