标签: azure-cli2

Azure CLI与Powershell?

无法准确理解Windows环境中Azure CLI的优点.

它是针对想要从Linux环境中管理Azure IAAS的受众吗?

我认为Powershell核心将成为非Windows管理员的方式.Powershell Core是不是会在所有平台上移植得很好,为跨平台的受众提供服务?

简而言之,是否值得学习Azure CLI?

powershell azure azure-cli azure-cli2

35
推荐指数
6
解决办法
2万
查看次数

Azure Cli如何更改订阅默认值

我的Azure帐户中有3个订阅,我需要更改默认订阅.当我运行命令时:

azure account list 
Run Code Online (Sandbox Code Playgroud)

我有这个输出:

在此输入图像描述

我试图以这种方式更改默认或当前订阅,没有结果......

azure config set subscription {{MyIdSubscription}}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢.

azure azure-cli2

34
推荐指数
6
解决办法
3万
查看次数

AKS.无法从acr中提取图像

我尝试使用秘密从ACR中提取图像,但我无法做到.

我使用azure cli命令创建了资源:

az login
az provider register -n Microsoft.Network
az provider register -n Microsoft.Storage
az provider register -n Microsoft.Compute
az provider register -n Microsoft.ContainerService

az group create --name aksGroup --location westeurope

az aks create --resource-group aksGroup --name aksCluster --node-count 1 --generate-ssh-keys -k 1.9.2
az aks get-credentials --resource-group aksGroup --name aksCluster

az acr create --resource-group aksGroup --name aksClusterRegistry --sku Basic --admin-enabled true
Run Code Online (Sandbox Code Playgroud)

之后我登录并成功将图像推送到本地机器创建的ACR.

docker login aksclusterregistry.azurecr.io
docker tag jetty aksclusterregistry.azurecr.io/jetty
docker push aksclusterregistry.azurecr.io/jetty
Run Code Online (Sandbox Code Playgroud)

下一步是创建一个秘密:

kubectl create secret docker-registry secret --docker-server=aksclusterregistry.azurecr.io …
Run Code Online (Sandbox Code Playgroud)

azure docker kubernetes azure-cli2

19
推荐指数
2
解决办法
6928
查看次数

某些 Azure CLI 命令出现 SSL 握手错误

我在 Windows 10 的 PowerShell 中的 bash 中使用 Azure CLI。我坐在公司代理后面。我的目标是自动化 Azure 资源的部署和设置。

一些 Azure CLI 命令工作得非常好:我可以运行 az login、更改默认订阅、列出位置、资源组、资源组内的资源,我什至可以运行 shell 脚本来部署诸如 Key Vault 之类的资源。

但是,当我尝试在 Key Vault 中列出密钥或机密,或者创建密钥/机密时,我得到以下信息:

请求中发生错误。, SSLError: HTTPSConnectionPool(host='xxxxxx.vault.azure.net', port=443): Max retries exceeded with url: /secrets?api-version=7.0 (Caused by SSLError(SSLError("bad握手: 错误([('SSL 例程', 'tls_process_server_certificate', '证书验证失败')],)",),))

我在此处提供的示例适用于 Key Vault,但我在使用其他类型的资源时遇到了相同的错误,因此我认为 Key Vault 不是问题所在。

--debug参数附加到命令时,我可以看到错误来自 Python 库之一:

urllib3.connectionpool : 在连接被 'SSLError(SSLError("bad handshake: Error([('SSLroutines')' , 'tls_process_server_certificate', '证书验证失败')],)",),)': /secrets?api-version=7.0

我已经尝试了以下提供的建议:

在 SSL 拦截代理服务器后面使用 Azure CLI

包括export AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=anycontent禁用证书检查(不推荐)和export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt使 Python …

ssl azure azure-cli2

14
推荐指数
4
解决办法
2万
查看次数

服务主体 az cli 登录失败 - 未找到订阅

尝试az cli使用服务主体执行登录并抛出错误说明No subscriptions found for <Service_Principal_AppId>. If this is expected, use '--allow-no-subscriptions'. 此代码以前运行良好,但现在似乎不再起作用。正在使用的命令行如下:

$sp_appid = (Get-AzureRmADServicePrincipal -DisplayName $spDisplayName).ApplicationId.Guid
$sp_secret = (Get-AzureKeyVaultSecret -VaultName $kvName -Name $appKeySecretName).SecretValueText
az login --service-principal --username $sp_appid --password $sp_secret --tenant $tenant_Id
Run Code Online (Sandbox Code Playgroud)

我验证了Contributor在订阅级别为服务主体分配了角色。

powershell azure azure-cli azure-cli2

7
推荐指数
3
解决办法
6164
查看次数

如何在 jmespath 中对字符串执行子字符串之类的函数

  • 我想知道 JMESPATH 中是否有可以利用的子字符串函数(由 az cli 支持)。
  • 我有以下 az cli 请求,我只想提取具有安全组的链接子网的名称,但与其他云提供商不同,azure 不会以相同的方式存储关联的资源名称。

可以在subnet.id节点中提取名称, 如下所示

$ az network nsg show -g my_group -n My_NSG --query "subnets[].id" -o json
[
  "/subscriptions/xxxxxx2/resourceGroups/my_group/providers/Microsoft.Network/virtualNetworks/MY-VNET/subnets/My_SUBNET"
]
Run Code Online (Sandbox Code Playgroud)
  • 我只想 从结果中提取“MY_SUBNET” 。

我知道有一种叫做搜索的东西应该模仿子字符串(此处解释 https://github.com/jmespath/jmespath.jep/issues/5),但它对我不起作用。

$ az network nsg show -g my_group -n My_NSG  --query "subnets[].search(id,'@[120:-1]')" -o json
InvalidArgumentValueError: argument --query: invalid jmespath_type value: "subnets[].search(id,'@[120:-1]')"

CLIInternalError: The command failed with an unexpected error. Here is the traceback:
Unknown function: search()
Run Code Online (Sandbox Code Playgroud)

谢谢


编辑 :

我实际上运行的请求包括其他元素,这就是为什么在新行中使用带有 bash 的子字符串不是我想要的。这是完整查询的示例:

az network …
Run Code Online (Sandbox Code Playgroud)

substring slice jmespath azure-cli2

7
推荐指数
1
解决办法
5953
查看次数

C# 控制台应用程序身份验证会话

如何az login在 C# 控制台应用程序中实现 (Azure CLI) 体验?

在这种情况下,将打开浏览器窗口,用户进行身份验证,然后他就可以访问私有资源。我的猜测是身份验证令牌存储在某个地方,但是在哪里呢?会话变量、文件..?

更新

我发现有一个文件夹~/.azure存储了相关信息。所以问题更多地集中在第一部分(启动浏览器并获取结果令牌)。

c# azure azure-cli2 az

6
推荐指数
1
解决办法
1806
查看次数

如何判断我的 VM 是 Azure 中的 Gen1 还是 Gen2?

我想知道我的 Azure VM(Windows + Linux)是 Gen1 还是 Gen2。az cli理想情况下,我希望通过或从实际服务器本身让它工作。我已经尝试过az vm list -g RG-Name -d,但它并没有真正显示此信息。有谁知道如何获得这个?

azure azure-virtual-machine azure-cli azure-cli2

6
推荐指数
1
解决办法
4174
查看次数

SCM_DO_BUILD_DURING_DEPLOYMENT 由 Azure Cli 显式设置为 false

我在 Jenkins 构建中使用 Azure Cli 将我的nodejsazure 函数部署到 azure。我需要 Kudu 构建 npm 包以减少 Jenkins 端的部署时间。

我有SCM_DO_BUILD_DURING_DEPLOYMENT = trueAzure Functions 配置,但 Azure Cli 在部署工件时明确将其设置为 false!因此,该应用程序将被排除在没有node_modules文件夹的情况下。

我正在使用类似于以下的命令:

az functionapp deployment source config-zip --src artifacts.zip --resource-group MyGroup --subscription MySubscription --name MyFunction --slot pre

知道如何修复它吗?

azure-cli azure-functions azure-cli2 azure-function-app

6
推荐指数
1
解决办法
2万
查看次数

在VSTS上的Azure CLI任务中设置输出变量

我为实现这一非常简单的任务而疯狂。我需要在Visual Studio Team Services上的Azure CLI任务中设置一个Output Variable,因为Release定义中的下一个任务将根据该变量的值执行。
我写了这个简单的代码

call az extension add --name azure-cli-iot-ext
call echo ##vso[task.setvariable variable=iotEdgeExists;]$(az iot hub query -n $(iotHub) -q "select * from devices.modules where devices.deviceId ='$(iotEdge)'")
Run Code Online (Sandbox Code Playgroud)

确实有效,但不是预期的,实际上,当我在下一个Azure CLI任务中读取Ouput变量并尝试在屏幕上打印时,我得到了命令字符串而不是输出...

call echo"$(az iot hub query -n <IOT_HUB> -q "select * from devices.modules where devices.deviceId ='<IOT_EDGE>'")"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

azure azure-cli azure-devops azure-pipelines-release-pipeline azure-cli2

5
推荐指数
2
解决办法
3470
查看次数