gpt4 book ai didi

azure - 从 AKS 群集访问 Azure 存储 Blob

转载 作者:行者123 更新时间:2023-12-02 06:29:17 25 4
gpt4 key购买 nike

一点背景信息:我必须将一个项目从 AWS(我目前在其中使用 ECS)迁移到 Azure(我将在 Azure 中使用 AKS),因为它们的 ACS(ECS 等效项)已被弃用。

这是一个常规 Django 应用程序,其配置变量是从托管在私有(private) S3 存储桶上的 server-config.json 中获取的,EC2 实例具有 S3FullAccess< 的正确角色,

我一直在研究重现相同的行为,但使用 Azure Blob Storage 来代替,但没有取得任何成功:-(。

我尝试使用服务主体概念并将其添加到具有存储Blob数据所有者角色的AKS集群,但这并没有似乎有效。总的来说,这是一次相当令人沮丧的经历——也许我只是很难掌握使用权限/范围的正确方法。 AKS 集群创建自己的资源组这一事实是不可思议的 - 但我也尝试将策略附加到它,但无济于事。然后我转向了 Microsoft 指定的解决方案。

我设法通过他们指定的解决方案将我的 AKS pod 与正确的用户管理身份绑定(bind) aad-pod-identity ,但我觉得我错过了一些东西。我将存储 Blob 数据所有者/贡献者分配给该身份,但是,当我进入 pod 并尝试访问 Blob(使用 python sdk)时,我收到找不到资源 消息。

我想要实现的目标有可能实现吗?或者我是否必须更改为使用 Azure Keyvault/类似的解决方案?

最佳答案

首先,您可以使用 AKS Engine现在这或多或少是 Kubernetes 的 ACS。

对于 Blob 存储的访问,您不必使用托管服务身份,您可以只使用帐户名\ key (这有点不太安全,但更不容易出错,并且存在更多示例)。事实上,您收到 resource not found 错误很可能意味着您的身份验证部分很好,您只是无权访问该资源,根据 this如果您在适当的范围内分配了存储 blob 贡献者,那么它应该没问题。要使其 100% 正常工作,只需在订阅级别授予您的身份贡献者访问权限,这样就保证可以正常工作。

我找到了一个将 python 与 MSI 结合使用的示例 ( here )。您应该从此开始(并授予您的身份贡献者访问权限)并验证您可以列出资源组。当它起作用时,读取 blob 的工作应该是微不足道的。

关于azure - 从 AKS 群集访问 Azure 存储 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56349424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com