问题标签 [azure-aks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes-helm - kubernetes 在 azure blob 存储上创建持久卷
背景
我是 kubernetes 的新手,我正在尝试stable/prometheus
在 AKS 集群上使用 helm 图表进行安装,并希望设置一个持久卷供它使用。
创建 AKS 群集时,它会将所有实际资源保留在资源组 MC_XXX_XXXX
- 我通过 azure via azure portal 手动创建了 ABC-BLOB-STORAGE
- 使用创建持久卷
kubectl
- 尝试使用值文件通过 helm 安装 prometheus
持久卷
Values.YAML(与存储相关的片段看起来像)
错误
当我使用 helm 安装 prometheus 时:
helm install stable/prometheus --name d02 -f values.yaml
错误:发布 d02 失败:persistentvolumeclaims “d02-prometheus-alertmanager”被禁止
- 感觉 kubernetes 需要访问 blob 存储。我可以传入访问令牌,但不确定如何
azure - Ingress IP with Azure AKS
I'm implementing this example with az aks
. I want to use ingress in order to use easily the reverse proxy as in the example with a container redirected to /tea
and the other to /coffee
based on the ingress simple rules.
I follow the steps, however, azure wont give an ip address to my ingress as you can see.
I think azure only give addresses to the loadbalancers. Is there any workaround or solution for this? Can I somehow say azure
to give an IP to my ingress?
As some additional info, I also tried `helm:
However I'm a complete novice and it seems to do nothing.
azure - Azure Kubernetes (AKS) 不发布公共 IP
我们在 Azure (AKS) 中使用托管 Kubernetes,公共 IP 地址已用完。我们只需要一个,但 AKS 每次部署服务时都会创建一个新的公共 IP,并且在删除服务时它不会删除它。例如:
每次部署时 ( kubectl create -f svc.yml
) 都会创建一个新的公共 IP。当它被删除 ( kubectl delete -f svc.yml
) 时,IP 仍然存在。尝试在上面的注释中使用 loadBalanceIP 重用现有 IP 之一失败,“公共 ip 地址......被资源中的多个 ipconfigs 引用......”。
我们已经创建了一个服务请求,但它需要很长时间,所以我希望这会更快。我不敢只删除 AKS 托管资源中的公共 IP,因为这可能会导致问题。
有没有办法安全地释放或重用公共 IP?我们使用的是 Kubernetes 版本 1.7.12。我们也删除了服务引用的部署,没有区别。
c# - 无法在 Azure 上将 MSI 与 AKS 一起使用
我在 Azure 中有一个使用 AKS 预览版的 k8s 集群。
我还在虚拟机上启用了 MSI。如果我 ssh 到虚拟机,我可以看到 MSI 服务正在运行:
根据文档,我得到了您所期望的回复。
但是,我无法弄清楚如何让我的 aspnet 核心应用程序AzureServiceTokenProvider
根据需要使用。在本地它可以工作,一旦部署在 kubernetes 的 pod 中,它就找不到所需的授权。
我得到的错误是:
Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException:参数:Connectionstring:[未指定连接字符串],资源:https ://vault.azure.net ,授权:https ://login.windows.net/9d93c307-6856-4bab -8fa9-99690e0fabaf。异常消息:尝试了以下 3 种方法来获取访问令牌,但都没有奏效。参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,权限:https ://login.windows.net/9d93c307-6856-4bab-8fa9-99690e0fabaf. 异常消息:尝试使用托管服务标识获取令牌。无法连接到托管服务标识 (MSI) 端点。请检查您是否在具有 MSI 设置的 Azure 资源上运行。参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,权限:https ://login.windows.net/9d93c307-6856-4bab-8fa9-99690e0fabaf 。异常消息:尝试使用 Visual Studio 获取令牌。无法获取访问令牌。未设置环境变量 LOCALAPPDATA。参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,权限:https ://login.windows.net/9d93c307-6856-4bab-8fa9-99690e0fabaf. 异常消息:尝试使用 Azure CLI 获取令牌。无法获取访问令牌。/bin/bash: az: 没有这样的文件或目录 ```
有没有人能够使用类似代码从 pod 中的 KeyVault 读取?
azure - 如何在 Azure AKS 的一个入口控制器上创建多个负载均衡器 IP 地址
我正在尝试在一个 k8s 集群上设置多个服务,前面有一个 Ingress 控制器,它为所有服务执行 tls 终止。这是一个很好的例子:https ://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/multi-tls/multi-tls.yaml
我最初遵循此示例:https ://github.com/brunoterkaly/ingress ,然后将其扩展为具有多个 tls 服务。
通过在 Azure 上公开我的 nginx 复制控制器 AKS 会自动创建一个负载均衡器和一个公共 IP 地址,我可以向其应用 A 记录:
kubectl expose rc nginx-ingress-rc --port="80,443" --type="LoadBalancer"
但是,我还想要第二条 A 记录,它指向同一个 IP 地址(我猜?),这样我就可以从不同的域访问我的入口控制器。我不知道如何让 AKS 为此创建第二个?
azure - ACS 还是 AKS 混合 kubernetes 集群?
从 2017 年末开始,我已经看到很多关于在 ACS 上的 Azure 中的 k8s 上运行混合 Windows 和 linux 节点的博客文章。
https://anthonychu.ca/post/hybrid-kubernetes-linux-windows-cluster-easy-steps/
https://github.com/dunnock/kubernetes-hybrid-in-azure
https://chrisdennig.me/2017/10/25/deploy-a-hybrid-kubernetes-cluster-on-azure-container-service/
有几个。他们都说 AKS 上还没有混合容器集群。大多数帖子已经过去了 3 个月。他们现在可以在 AKS 上使用吗?
azure - Azure - az aks cli azure 广告错误
我有两个不同的 Azure 广告租户
第一个是foo
第二个是bar
和一份订阅
名字是baz
帐户管理员似乎 foo
在管理和计费概览服务部分。
当我从门户将目录更改为栏时,我可以baz
从 Other subscriptions
Cost Management & Billing.
当我在 's shell 执行下面的命令时bar
,我可以看到订阅的所有者是foo
.
当我执行下面的命令时,出现错误“当前用户需要目录权限才能注册应用程序”
所以我想利用一切来foo
创建我的 Azure Kubernetes 服务。我该怎么办。有任何想法吗?
kubernetes - kubernetes:我应该使用什么样的端口来在入口后面公开服务?
在入口后面公开服务的正确方法是什么。我应该使用 nodePort 吗?集群IP?别的东西?因为大多数教程都忽略了这一点。有些人使用 nodePort 显示服务,然后添加诸如“对于这个演示就足够了”之类的东西,这不是很让人放心。
kubernetes - 在 Kubernetes 中发现其他服务的端口,而不使用 FOO_SERVICE_PORT 环境变量
根据 Kubernetes 文档,每个容器都有一组环境变量,可以访问其他服务
例如,如果存在名为 foo 的服务,则所有容器将在其初始环境中获取以下变量:
但是,似乎在我的集群中我没有得到这些变量的预期值:
我宁愿期待看到类似的东西
我知道文档也说
如果您正在编写与服务对话的代码,请不要使用这些环境变量;请改用服务的 DNS 名称。
但这只会给我服务的主机名,而不是端口。因此,我想在我的部署模板中设置SEARCH_HOST
为search
并依赖SEARCH_PORT
来获取端口,但是当我将现有环境变量中的服务 url 放在一起时,它变成了http://search:tcp://10.0.110.126:80
显然不起作用。
如果我不能依靠FOO_SERVICE_PORT
变量给我端口号,我应该怎么做?