-1

我需要通过 Azure DevOps YAML 管道在 AKS 集群上部署 Istio(1.7.3 版)吗?我怎样才能做到这一点 ?我目前收到错误。我使用的代码如下。

$artifactsLocation = "$PSScriptRoot/artifacts"
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -URI "https://github.com/istio/istio/releases/download/$IstioVersion/istio-$IstioVersion-win.zip" -OutFile "$artifactsLocation/istio-$IstioVersion.zip"
Expand-Archive -Path "$artifactsLocation/istio-$IstioVersion.zip" -DestinationPath $artifactsLocation
kubectl create namespace istio-system --save-config
$istioctl = "$PSScriptRoot/artifacts/istio-$IstioVersion/bin/istioctl.exe
Invoke-Expression "$istioctl install -f $kubernetesInfrastructurePath/aks/yaml/istio.servicemesh.yaml"

我的管道任务没有给我任何错误(我正在调用带有脚本的 powershell 文件,该脚本作为 Azure CLI 任务添加到管道中)但我猜,错误可能出现在上面的最后一行代码中。我在这里缺少其他要添加的内容,因为我对错误一无所知。

在使用“kubectl get all -n istio-operator”时,我得到的输出是“在 istio-operator 命名空间中找不到资源”。

更新:-

$istioctl = "$PSScriptRoot/artifacts/istio-$IstioVersion/bin/istioctl

使用上述行时,错误是-

术语“/home/vsts/work/1/s/pipelines/scripts/aks/artifacts/istio-1.7.3/bin/istioctl”未被识别为 cmdlet、函数、脚本文件或可执行程序的名称. 检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试

$istioctl = "$PSScriptRoot/artifacts/istio-$IstioVersion/bin/istioctl.exe

但是当使用上面的行(.exe 添加)时,错误是 -

错误:找不到类型“application/x-msdos-program”的“view”mailcap 规则。/usr/bin/xdg-open:869:www-browser:未找到。/usr/bin/xdg-open:869:links2 :未找到。/usr/bin/xdg-open:869:elinks:未找到。/usr/bin/xdg-open:869:链接:未找到。/usr/bin/xdg-open:869:lynx:未找到找到。/usr/bin/xdg-open:869:w3m:未找到。xdg-open:没有可用于打开 '/home/vsts/work/1/s/pipelines/scripts/aks/artifacts/istio-1.7 的方法.3/bin/istioctl.exe

4

1 回答 1

1

现在问题似乎解决了。代码没有问题。问题在于管道中的池 vmimage。错误地,我使用的是 ububtu 图像而不是 windows。

不正确:- vmImage:'ubuntu-latest'

正确:- vmImage:'windows-latest'

于 2021-02-24T05:37:50.573 回答