Microsoft* Azure* 上的 Clear Linux* OS

Clear Linux* OS 在 Microsoft* Azure* Marketplace 中提供,并且具有三个不同的映像(也称为 SKU(库存单位))。

  • Clear Linux OS 基本 - 此 SKU 包含仅具有基本功能的系统,对于想要探索并使用所选的其他软件捆绑包构建系统的用户来说,此 SKU 可用作起点。
  • Clear Linux OS 容器 - 此 SKU 附带已安装的 containers-basic 软件捆绑包。
  • Clear Linux OS 机器学习 - 此 SKU 预加载了用于开发机器学习应用程序的流行开源工具。

您可以直接从 Microsoft Azure 仪表板通过 Azure 门户 访问这些映像,也可以使用 Microsoft Azure CLI(命令行接口) 2.0 来访问。如果您尚未设置 Microsoft Azure 帐户,您可以注册 Microsoft Azure 免费帐户 以访问 Clear Linux OS VM(虚拟机) 映像。

Azure CLI 提供了通过命令行在 Microsoft Azure 中创建和管理资源的功能。在本教程中,您将学习:

  1. 在 Clear Linux OS 计算机上安装最新 Microsoft Azure CLI。
  2. 使用 CLI 2.0 接口登录到 Microsoft Azure。
  3. 创建 Microsoft Azure 资源组。
  4. 找到 Clear Linux OS 映像。
  5. 创建 Clear Linux OS 虚拟机并登录到该虚拟机。
  6. 停止并取消分配 Clear Linux OS 虚拟机和资源。

要在 Clear Linux OS 系统中使用 Microsoft Azure CLI 2.0,您的系统必须已安装了以下软件包:

  • Python 2.7 或更高版本
  • libffi
  • OpenSSL 1.0.2

您可以通过运行如下所示的各个命令来检查系统中已安装的版本:

python --version
python 2.7.12
openssl version
OpenSSL 1.0.2n 7 Dec 2017
ls -l /usr/lib64/libffi*
lrwxrwxrwx 1 root root    15 Jan 12  2017 /usr/lib64/libffi.so.6 -> libffi.so.6.0.4
-rwxr-xr-x 1 root root 38792 Jan 12  2017 /usr/lib64/libffi.so.6.0.4

如果您的 Clear Linux OS 系统中尚未安装这些软件包,请使用 swupd 命令安装 sysadmin-basic 软件捆绑包:

sudo swupd bundle-add sysadmin-basic

注解

这些说明与在 Clear Linux OS 系统中安装 Microsoft Azure CLI 2.0 工具相关。如果要在其他平台上安装 CLI,请遵循 Microsoft Azure 安装 Azure CLI 教程 中针对您的特定操作系统的说明。

在 Clear Linux OS 中安装 Microsoft Azure CLI 2.0

  1. 要在 Clear Linux OS 中安装 Microsoft Azure CLI 2.0,请按如下所示使用 curl 命令:

    curl -L https://aka.ms/InstallAzureCli | bash
    

    如果从 curl 收到与 -L 参数相关的错误消息,或者生成了包含文本 “Object Moved” 的错误消息,请使用完整 URL,而不要使用 aka.ms 重定向地址:

    curl https://azurecliprod.blob.core.windows.net/install | bash
    
  2. 安装脚本将开始,并在执行期间多次提示您提供信息。

    注解

    脚本的控制台输出会显示您的用户名,而非本教程中显示的 [user] 变量。

    ===> In what directory would you like to place the install? (leave blank to use '/home/[user]/lib/azure-cli'):
    

    Enter 键以接受默认目录,或者也可以选择将 Microsoft Azure CLI 2.0 工具安装到其他目录。

    ===> In what directory would you like to place the 'az' executable? (leave blank to use '/home/[user]/bin'):
    

    Enter 键以接受默认目录,或者也可以选择将 az 可执行文件安装到其他目录。

  3. 安装过程会下载并生成所有所需的工具,并在完成后提示以下消息:

    ===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n): Y
    

    键入 Y 并按 Enter 键以允许此修改。

    ===> Enter a path to an rc file to update (leave blank to use '/home/[user]/.bashrc'):
    

    Enter 键以接受默认路径名称,或者将路径名称输入到 .bashrc 文件中。安装过程将完成,最终输出如下所示:

    -- Backed up '/home/[user].bashrc' to '/home/[user]/.bashrc.backup'
    -- Tab completion set up complete.
    -- If tab completion is not activated, verify that '/home/[user]/.bashrc' is sourced by your shell.
    --
    -- ** Run `exec -l $SHELL` to restart your shell. **
    --
    -- Installation successful.
    -- Run the CLI with /home/[user]/bin/az --help
    
  4. 安装程序将完成,您必须重新启动 shell 以使更改生效。如果安装成功,请运行以下命令以重新启动 shell。

    exec -l $SHELL
    

已成功生成并安装 Microsoft Azure CLI 2.0 可执行文件后,运行 az 命令。

az

az 命令的输出如下所示:

     /\
    /  \    _____   _ _ __ ___
   / /\ \  |_  / | | | \'__/ _ \
  / ____ \  / /| |_| | | |  __/
 /_/    \_\/___|\__,_|_|  \___|


Welcome to the cool new Azure CLI!

Here are the base commands:

    account          : Manage Azure subscription information.
    acr              : Manage Azure Container Registries.
    acs              : Manage Azure Container Services.
    ad               : Synchronize on-premises directories and manage Azure Active Directory
                       resources.
    advisor          : (PREVIEW) Manage Azure Advisor.
    aks              : Manage Kubernetes clusters.
    appservice       : Manage App Service plans.
    backup           : Commands to manage Azure Backups.
    batch            : Manage Azure Batch.
    batchai          : Batch AI.
    billing          : Manage Azure Billing.
    cdn              : Manage Azure Content Delivery Networks (CDNs).
    cloud            : Manage registered Azure clouds.
    cognitiveservices: Manage Azure Cognitive Services accounts.
    configure        : Display and manage the Azure CLI 2.0 configuration. This command is
                       interactive.
    consumption      : Manage consumption of Azure resources.
    container        : (PREVIEW) Manage Azure Container Instances.
    cosmosdb         : Manage Azure Cosmos DB database accounts.
    disk             : Manage Azure Managed Disks.
    dla              : (PREVIEW) Manage Data Lake Analytics accounts, jobs, and catalogs.
    dls              : (PREVIEW) Manage Data Lake Store accounts and filesystems.
    eventgrid        : Manage Azure Event Grid topics and subscriptions.
    extension        : Manage and update CLI extensions.
    feature          : Manage resource provider features.
    feedback         : Loving or hating the CLI?  Let us know!
    find             : Find Azure CLI commands.
    functionapp      : Manage function apps.
    group            : Manage resource groups and template deployments.
    image            : Manage custom virtual machine images.
    interactive      : Start interactive mode.
    iot              : (PREVIEW) Manage Internet of Things (IoT) assets.
    keyvault         : Safeguard and maintain control of keys, secrets, and certificates.
    lab              : Manage Azure DevTest Labs.
    lock             : Manage Azure locks.
    login            : Log in to Azure.
    logout           : Log out to remove access to Azure subscriptions.
    managedapp       : Manage template solutions provided and maintained by Independent Software
                       Vendors (ISVs).
    monitor          : Manage the Azure Monitor Service.
    mysql            : Manage Azure Database for MySQL servers.
    network          : Manage Azure Network resources.
    policy           : Manage resource policies.
    postgres         : Manage Azure Database for PostgreSQL servers.
    provider         : Manage resource providers.
    redis            : Access to a secure, dedicated Redis cache for your Azure applications.
    reservations     : Manage Azure Reservations.
    resource         : Manage Azure resources.
    role             : Manage user roles for access control with Azure Active Directory and service
                       principals.
    sf               : Manage and administer Azure Service Fabric clusters.
    snapshot         : Manage point-in-time copies of managed disks, native blobs, or other
                       snapshots.
    sql              : Manage Azure SQL Databases and Data Warehouses.
    storage          : Manage Azure Cloud Storage resources.
    tag              : Manage resource tags.
    vm               : Provision Linux or Windows virtual machines.
    vmss             : Manage groupings of virtual machines in an Azure Virtual Machine Scale Set
                       (VMSS).
    webapp           : Manage web apps.

登录到您的 Microsoft Azure 帐户

  1. az 命令已正确安装并且正常工作后,使用如下所示的 az login 命令登录到您的 Microsoft Azure 帐户:

    az login
    

    该命令的输出如下所示:

    To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code BQ9MG442B to authenticate.
    
  2. 打开浏览器并访问图 1 中显示的页面 https://aka.ms/devicelogin

    Microsoft Device Login

    图 1: Microsoft Device Login

  3. 输入代码 BQ9MG442B 以对设备进行身份验证,如图 2 中所示。代码 BQ9MG442B 是为每次会话登录生成的随机身份验证代码,每次使用 az login 命令登录到 Microsoft Azure 时生成的代码都不相同。

    Microsoft Device Login - Azure CLI

    图 2: Microsoft Device Login - Azure CLI

  4. 输入身份验证代码后,网站将变为用于输入现有 Microsoft Azure 凭据的屏幕。

  5. 使用现有 Microsoft Azure 帐户凭据登录。完成后,浏览器屏幕将再次改变,如图 3 中所示。该屏幕显示您已在设备上登录到 Microsoft 跨平台命令行接口应用程序,您可以关闭窗口。

    Microsoft Azure Cross-platform CLI

    图 3: Microsoft Azure Cross-platform CLI

Microsoft Azure CLI 2.0 接口现在处于活动状态,并且正在使用现有 Microsoft Azure 帐户凭据。

创建 Microsoft Azure 资源组

要了解有关 Microsoft Azure 资源组的更多信息,请参见 Azure 资源管理器概述 以查看 Microsoft Azure 中的资源的概述和详细说明。

  1. 要创建新的资源组,请运行如下所示的 az group create ... 命令,以使用 -n 参数创建名为 ClearResourceGroup 的资源组并使用 -l 参数将该资源组放置在 westus 区域中。

    az group create -n ClearResourceGroup -l westus
    
  2. 命令完成后,该命令的输出如下所示:

    {
      "id": "/subscriptions/{unique-id}/resourceGroups/ClearResourceGroup",
      "location": "westus",
      "managedBy": null,
      "name": "ClearResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    

创建 Clear Linux OS 虚拟机并登录到该虚拟机

在本教程中,我们对虚拟机使用 Clear Linux OS 基本 SKU。

  1. 要在 Microsoft Azure Marketplace 中找到可用的 Clear Linux OS 基本虚拟机 SKU 映像,请运行 az vm image ... 命令:

    az vm image list --offer clear-linux --sku basic --all --output table
    

    完成该命令可能需要一些时间。输出列出了 Microsoft Azure Marketplace 中提供的所有可用 Clear Linux OS 基本映像,如下所示:

    Offer           Publisher            Sku               Urn                                                            Version
    --------------  -------------------  ----------------  -------------------------------------------------------------  ---------
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:15780.0.0             15780.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:15960.0.0             15960.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:16050.0.0             16050.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:16150.0.0             16150.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:16500.0.0             16500.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:16810.0.0             16810.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:18080.0.0             18080.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:18620.0.0             18620.0.0
    clear-linux-os  clear-linux-project  basic             clear-linux-project:clear-linux-os:basic:18860.0.0             18860.0.0
    

    注解

    输出列表显示了当前产品。新版本始终添加到 Microsoft Azure Marketplace。要引用映像的最新版本,您可以在指定映像时使用版本标签 latest

  2. Urn 列中显示的信息列出了每个可用映像的 Publisher:Offer:Sku:Version,创建 Clear Linux OS 基本虚拟机时需要这些信息。由于我们要创建 Clear Linux OS 基本虚拟机,因此突出显示 clear-linux-project:clear-linux-os:basic: 字符串并将其复制到剪贴板。请使用标签 latest,而不要引用特定版本。

  3. 创建新的 Clear Linux OS 基本虚拟机。使用在上一步复制到剪贴板的 URN :clear-linux-project:clear-linux-os:basic:latest 运行 az vm create ... 命令。

    az vm create --resource-group ClearResourceGroup --name ClearVM --image clear-linux-project:clear-linux-os:basic:latest --generate-ssh-keys
    

    注解

    如果您已定义了 SSH 公钥/私钥对,并且它们存储在 $HOME/.ssh 目录中,则不需要包括 –generate-ssh-keys 选项。

    该命令的输出类似于以下输出,其中 [user] 是您的用户名:

    SSH key files '/home/[user]/.ssh/id_rsa' and '/home/[user]/.ssh/id_rsa.pub' have been generated under ~/.ssh to allow SSH access to the VM. If using machines without permanent storage, back up your keys to a safe location.
    
    running...
    
    {
      "fqdns": "",
      "id": "/subscriptions/{unique-id}/resourceGroups/ClearResourceGroup/providers/Microsoft.Compute/virtualMachines/ClearVM",
      "location": "westus",
      "macAddress": "00-0D-3A-37-C7-59",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.4",
      "publicIpAddress": "13.91.4.245",
      "resourceGroup": "ClearResourceGroup",
      "zones": ""
    }
    

    记下输出中的公共 IP 地址。

  4. 登录到新的 Clear Linux OS 基本虚拟机,使用在上一步获取的公共 IP 地址运行 ssh 命令,如下所示:

    ssh [user]@13.91.4.245
    

    您可能会看到以下有关主机可靠性的消息。如果出现此消息,请键入 yes 以继续连接到新的 Clear Linux OS 虚拟机。

    The authenticity of host '13.91.4.245 (13.91.4.245)' can't be established.
    RSA key fingerprint is SHA256:{unique-number}.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '13.91.4.245' (RSA) to the list of known hosts.
    
    [user]@ClearVM ~ $
    

    您现在已经以 [user] 身份登录到新的 Clear Linux OS 虚拟机,其中 [user] 是您的用户名。要检查该虚拟机映像包含哪些软件捆绑包,请在虚拟机中运行 sudo swupd bundle-list 命令:

    sudo swupd bundle-list
    

    显示的输出如下所示:

    swupd-client bundle list 3.14.1
       Copyright (C) 2012-2017 Intel Corporation
    
    bootloader
    editors
    kernel-hyperv
    network-basic
    openssh-server
    os-cloudguest-azure
    os-core
    os-core-update
    perl-basic
    python-basic
    python3-basic
    storage-utils
    sysadmin-basic
    Current OS version: 19600
    

    完成使用新的 Clear Linux OS 虚拟机后,键入 exit 以关闭 SSH 终端并注销。

停止并取消分配 Clear Linux OS 虚拟机和资源

完成使用新的 Clear Linux OS 实例后,您必须停止并取消分配资源组中的虚拟机和资源。如果仅停止虚拟机,则操作系统映像将关闭,但资源组中与该虚拟机关联的资源将保持已分配并产生费用。例如,如果您停止虚拟机但未取消分配资源,然后使用 az vm start... 启动该虚拟机,则 IP 地址会保留,并且您可以使用该 IP 地址访问虚拟机。要释放与虚拟机关联的资源并使它们停止产生费用,您还必须取消分配这些资源。

  1. 在命令提示符中,输入 az vm stop... 命令,如下所示:

    az vm stop --resource-group ClearResourceGroup --name ClearVM
    

    该命令将停止虚拟机,然后输出如下所示的文本:

    {
      "endTime": "2017-12-13T23:04:02.346676+00:00",
      "error": null,
      "name": "{unique-name}",
      "startTime": "2017-12-13T23:03:59.018536+00:00",
      "status": "Succeeded"
    }
    
  2. 虚拟机停止后,取消分配虚拟机资源以使 Clear Linux OS 实例停止产生费用。输入以下命令:

    az vm deallocate --resource-group ClearResourceGroup --name ClearVM
    

恭喜!

您已使用 Azure CLI 2.0 命令行工具启动并运行基于 Microsoft Azure 的 Clear Linux OS。

后续步骤

要查看使用 Clear Linux OS 实例可实现的用例,请参见 教程 一节。

有关其他信息,请访问 Clear Linux OS Azure 合作伙伴小型案例研究Azure 合作伙伴数据表

要了解有关 Microsoft Azure CLI 2.0 工具和可用选项的更多信息,请访问 Microsoft Azure 文档和教程 网站。