当前位置: 首页 > 知识库问答 >
问题:

如何从作为POD部署在Azure Kubernetes服务(AKS)中的ASP.NET核心Docker容器访问Azure KeyVault?

欧博简
2023-03-14

我有一个ASP.NET核心应用程序,配置为使用Visual Studio 2019 Connected Services连接到Azure KeyVault:

https://docs.microsoft.com/en-us/azure/key-vault/general/vs-key-vault-add-connected-service

我用Docker封装了应用程序,并将其作为一个吊舱部署到Kubernetes中。KeyVault连接无法工作,可能是因为未设置托管标识。

我试过:

  1. 将Kubernetes代理托管标识添加到KeyVault Acccess策略中,就像我对应用程序服务或容器服务所做的那样,但不允许连接。
  2. 在以下位置跟踪文档:https://docs.microsoft.com/en-us/azure/key-vault/general/key-vault-integrat-kubernetes

我想知道“Azure Key Vault provider for the Secrets Store CSI driver on Kubernetes”是否是从吊舱使用KeyVault的正确方法,或者是否有更简单的解决方案,比如直接连接。

共有1个答案

司马俊晖
2023-03-14

对于处于我这种情况的人来说,解决办法是使用AAD-Pod身份

不需要附加CSI驱动程序,除非您需要Kubernetes配置中的秘密,希望完全控制自定义配置,或者将集群置于Azure之外。

对于部署到AKS的ASP.NET核心应用程序,最简单的方法是使用托管标识,要将其提供给Kubernetes集群,您需要AAD-Pod标识。

目前还没有一个文档页面,但是按照GitHub上的入门说明就足够了。

 类似资料:
  • 问题内容: 目前,我在需要连接到camunda的docker容器内运行一个node.js应用程序,该容器在另一个容器中运行。 我使用以下命令启动容器 这两个应用程序现在都在运行,我可以通过在端口8000上导航到主机的IP来访问camunda,运行wget 还会返回camunda页面。使用和键入我的应用程序容器时,我无法访问camunda。相反,我得到以下错误: 当我使用将我的应用程序容器链接到ca

  • 问题内容: 我运行基于节点映像的Docker容器(Windows的Docker快速入门终端) 我启动节点客户端(在端口3000上)和节点(基于Express)的服务器(在3009 端口上)。客户端通过AJAX调用访问REST服务器。 它可以完美地从主机运行(客户端访问localhost:3009并返回结果)。我可以拨打:3009,然后再次得到正确的结果。 但是当我构建并运行docker image

  • 问题内容: 我正在boot2docker 1.3.1下运行。 我有一个Docker容器通过运行Web服务器。 如果我连接到该容器,则可以使用浏览该网站,以便知道服务器正在运行。 我用以下容器运行容器: 它具有以下详细信息: 我以为可以访问,从托管人访问该网站。 这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。 我究竟做错了什么? 问题答案: 好吧,愚蠢的我,我在boot2doc

  • 我有一个带有ASP.NET核心的docker容器和一个带有MySQL的容器。现在,我需要使用ASP.NET核心容器等待,mysql容器已经启动并准备就绪(这两个容器都是通过docker-compose.yml启动的)。 这是我的DockerFile:

  • 我使用docker compose在docker容器中运行spring boot应用程序。spring boot使用嵌入式tomcat运行。 服务器上有一个带有图像的外部文件夹,我想从一个Spring引导docker容器中访问该文件夹。 在码头工人的房间里。yaml文件定义了以下容器: nginx mysql springboot应用程序 nginx和CloudFlare将域重定向到端口8080上

  • 也许我错过了它,但我正在试图弄清楚如何在ASP.NET核心中实现这一点。我查看了源代码(https://github.com/aspnet/security),但没有看到任何类似的内容。有没有新的方法来完成这一点?我需要创建一个控制器然后自己做吗? 我看到了如何通过中间件来设置OAuth身份验证,但这涉及到从API发出声明的授权部分。