从 AKS 访问 Azure Blob 存储

Posted

技术标签:

【中文标题】从 AKS 访问 Azure Blob 存储【英文标题】:Access Azure blob storage from AKS 【发布时间】:2020-06-03 18:50:13 【问题描述】:

我有一个 .Net Core Api,它从 SQL 中返回数据,并从 Azure Blob 容器/存储中返回相应的 pdf/文档。我正在开发一个概念证明来在 AKS (Azure Kubernetes) 中托管这个 Api。我的原型成功地从 SQL(在 Linux 上)返回数据。但是,我无法从 blob 存储中提取文档/pdf。

需要有关如何从 AKS 访问 blob 存储的信息。

非常感谢拉梅什

【问题讨论】:

您能分享一下您尝试过的代码吗?您如何使用密钥、临时 SAS、Azure AD 帐户对 Blob 存储进行身份验证,或者您有公共存储?存储防火墙是如何配置的? 假设您可以访问外部资源(如果 SQL 查询有效,这听起来像是),那么这不是 AKS 问题,而是您的代码的问题。 【参考方案1】:

您可以使用 Blobfuse 从 AKS 访问 Blob 存储。

Blobfuse 通过在 Linux 主机上创建虚拟文件系统来工作。每当请求该系统上的文件时,驱动程序将从 Blob 存储中检索它并将其放在临时文件夹中,以便可以完成操作,然后在文件上的文件句柄完成后将更改的文件写回 Blob 存储发布。

权衡:对文件的访问可能会很慢并且很隐蔽。

优势:在相对数据量相同的情况下,比文件存储更便宜。

链接:https://github.com/kubernetes-sigs/blob-csi-driver

https://github.com/kubernetes-sigs/blob-csi-driver/blob/master/docs/install-driver-on-aks.md

https://docs.seldon.io/projects/seldon-core/en/latest/examples/triton_gpt2_example_azure_setup.html

【讨论】:

以上是关于从 AKS 访问 Azure Blob 存储的主要内容,如果未能解决你的问题,请参考以下文章

从 webapp (azure) 访问 blob 存储

无法从连接到 Azure *** 的本地计算机(在家庭网络上)访问专用 AKS 群集

从 Azure Function App 访问带有防火墙的 Azure Blob 存储

是否可以从存储过程访问 Azure Blob?

从 Azure 存储流式传输 blob - 无法访问已关闭的流

将文件数据从 Azure Blob 存储访问到变量