为 Azure Stack Hub 用户启用 Azure CLI
可以向 Azure Stack Hub 的用户提供 CA 根证书,使他们能够在其开发计算机上启用 Azure CLI。 用户需使用该证书通过 CLI 管理资源。
如果用户通过 Azure Stack 开发工具包 (ASDK) 外部的工作站使用 CLI,则 Azure Stack Hub CA 根证书是必需的。
虚拟机 (VM) 别名终结点提供在部署 VM 时以单个参数形式引用映像发布者、产品/服务、SKU 和版本的别名,如“UbuntuLTS”或“Win2012Datacenter”。
以下部分介绍如何获取这些值。
导出 Azure Stack Hub CA 根证书
如果使用集成系统,则无需导出 CA 根证书。 需要在 ASDK 中导出 CA 根证书。
若要以 PEM 格式导出 ASDK 根证书,请登录并运行以下脚本:
$label = "AzureStackSelfSignedRootCert"
Write-Host "Getting certificate from the current user trusted store with subject CN=$label"
$root = Get-ChildItem Cert:\CurrentUser\Root | Where-Object Subject -eq "CN=$label" | select -First 1
if (-not $root)
{
Write-Error "Certificate with subject CN=$label not found"
return
}
Write-Host "Exporting certificate"
Export-Certificate -Type CERT -FilePath root.cer -Cert $root
Write-Host "Converting certificate to PEM format"
certutil -encode root.cer root.pem
设置 VM 别名终结点
Azure Stack Hub 操作员应设置可公开访问的终结点来托管 VM 别名文件。 VM 别名文件是一个 JSON 文件,提供映像的公用名称。 以 Azure CLI 参数形式部署 VM 时,将使用该名称。
向别名文件添加条目之前,请确保从 Azure 市场下载映像,或者已发布自己的自定义映像。 如果发布自定义映像,请记下发布过程中指定的发布者、产品/服务、SKU 和版本信息。 如果映像来自市场,可以使用 Get-AzureVMImage
cmdlet 查看信息。
可以使用包含许多常见映像别名的示例别名文件。 可以使用该文件作为起点。 将该文件托管在 CLI 客户端可以访问它的空间。 一种方法是将该文件托管在 blob 存储帐户中并与用户共享 URL:
- 从 GitHub 下载示例文件。
- 在 Azure Stack Hub 中创建存储帐户。 完成该操作后,将创建 Blob 容器。 将访问策略设置为“公开”。
- 将 JSON 文件上传到新容器。 完成该操作后,可以查看 blob 的 URL。 选择 blob 名称,然后从 blob 属性中选择该 URL。