我正在使用Helm通过Azure DevOps升级AKS资源。但是当我部署Helm图表时,它显示以下错误:
Error: Kubernetes cluster unreachable: Get "https://aks.xxxxxxx.azmk8s.io:443/version": dial tcp 20.255.255.140:443; i/o timeout
字符串
YAML
steps:
...
- task: HelmDeploy@0
displayName: 'helm upgrade'
inputs:
azureSubscription: xx
azureResourceGroup: xx
kubernetesCluster: xx
useClusterAdmin: true
namespace: prod
command: upgrade
chartName: 'AKS_Chart_Prod'
releaseName: 'Prod_release'
valueFile: myvals.yaml
force: true
型
我们可以在本地机器上手动部署Helm Chart。
如何解决Azure Pipeline中的问题?
1条答案
按热度按时间esbemjvw1#
由于AKS群集是私有的,因此在使用Microsoft托管代理时,Helm任务无法直接访问AKS群集。
若要继续使用Microsoft托管的代理,您可以更改为使用Azure CLI来执行Helm升级操作。
举例来说:
字符串
参考此文档:Access a private Azure Kubernetes Service (AKS) cluster
通过Azure CLI,您可以使用命令调用来访问私有集群,而无需配置VPN或Express Route。命令调用允许您通过Azure API在私有集群上远程调用命令,如kubectl和helm,而无需直接连接到集群。
下面是Pipeline的例子:
型
另一方面,您可以在本地计算机上创建自托管代理。
由于您可以在本地成功部署,因此自托管代理应该能够使用helm task直接访问私有AKS集群。