我使用的是使用VMSS的Azure自托管代理,在代理上运行Kubernetes@1
任务时,它返回此错误couldn't get current server API group list: Get "https://<aks>.hcp.westeurope.azmk8s.io/api?timeout=32s": dial tcp: lookup <aks>.hcp.westeurope.azmk8s.io on 127.0.0.53:53: no such host
。AKS不是专用的,并且此安装程序在Azure提供的代理上运行时正常工作。我尝试运行的任务如下所示:
steps:
- task: Kubernetes@1
displayName: "Rollout <deployment-name>"
inputs:
connectionType: "Kubernetes Service Connection"
kubernetesServiceEndpoint: <serviceEndpoint>
namespace: <namespace>
command: "rollout"
arguments: "restart deployment <deployment-name>"
代理正在Ubuntu 20.04 LTS上运行。
使用AzureCLI@2
任务获取凭据并执行kubectl
命令确实有效,但这不是最佳解决方案,我希望使用Kubernetes@1
任务。以下是AzureCLI@2
任务的工作示例:
steps:
- task: AzureCLI@2
inputs:
azureSubscription: $(azureSubscription)
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
az aks get-credentials --resource-group <resource-group> --name <aks-name>
kubectl rollout -n <namespace> restart deployment <deployment-name>
编辑:
- 我正在使用服务帐户,而不是kube配置文件。
- 我有一个预装kubectl命令的自定义映像。
1条答案
按热度按时间nkoocmlb1#
我已经按照下面给出的步骤操作,而且效果很好。
步骤1:创建VMSS并通过连接到VMSS安装kubectl。在VMSS上运行以下命令以安装kubectl。
有关安装kubectl的详细信息,请参阅此链接。
**第2步:**在ADO组织中添加VMSS作为自托管代理。
步骤3:我已经使用kube配置文件创建了服务连接。
步骤4:通过选择在步骤2中创建的池运行管道,并验证结果。