在 Linux 上的 Azure Stack Hub 中安装 AKS 引擎

可以在 Azure Stack Hub 中使用 Linux 计算机托管 AKS 引擎,以便部署和管理 Kubernetes 群集。 在本文中,我们将介绍如何准备客户端 VM 以便针对联网 Azure Stack Hub 实例和离线 Azure Stack Hub 实例管理群集,如何检查安装,以及如何在 ASDK 上设置客户端 VM。

准备客户端 VM

AKS 引擎是一种用于部署和管理 Kubernetes 群集的命令行工具。 可以在 Azure Stack Hub 中的计算机上运行引擎。 从这台计算机中,使用 AKS 引擎来部署运行群集所需的 IaaS 资源和软件。 然后,可以使用运行引擎的计算机在群集上执行管理任务。

选择客户端计算机时,请考虑:

  1. 当发生灾难时,该客户端计算机是否应当可恢复。
  2. 如何连接到客户端计算机以及计算机将如何与群集交互。

安装在连接的环境中

可以安装客户端 VM,以便在连接到 Internet 的 Azure Stack Hub 上管理 Kubernetes 群集。

  1. 在 Azure Stack Hub 中创建 Linux VM。 有关说明,请参阅快速入门:通过使用 Azure Stack Hub 门户创建 Linux 服务器 VM

  2. 连接到 VM。

  3. 使用包管理器检查是否已安装以下工具:

    • jq 一个 JSON 处理器。
    • curl - 一个使用各种网络协议传输文件的工具。
    • openssh 一个 SSH 客户端。
    • tar 一个用于处理 TAR 存档的工具。
  4. 安装 Azure CLI。 大多数分发版均提供 Azure CLI 包。 有关说明,请参阅在 Linux 上安装 Azure CLI

  5. AKS 引擎和 Azure Stack 版本映射表中查找 AKS 引擎的版本。 AKS 基础映像必须已在 Azure Stack Hub 市场中提供。 运行该命令时,必须指定版本 --version v0.xx.x。 如果不指定版本,该命令将安装最新版,这样可能就会需要市场中未提供的 VHD 映像。

    注意

    可以在 AKS 引擎发行说明中找到 Azure Stack Hub 到 AKS 引擎版本号的映射。

  6. 运行下面的命令:

    适用于 AKS 引擎 0.73.0 及更低版本:

    sudo apt update
    sudo apt install jq
    curl -o get-akse.sh https://raw.githubusercontent.com/Azure/aks-engine/master/scripts/get-akse.sh
    chmod 700 get-akse.sh
    ./get-akse.sh --version v0.xx.x
    

    适用于 AKS 引擎 0.75.3 及更高版本:

    sudo apt update
    sudo apt install jq
    curl -o get-akse.sh https://raw.githubusercontent.com/Azure/aks-engine-azurestack/master/scripts/get-akse.sh
    chmod 700 get-akse.sh
    ./get-akse.sh --version v0.xx.x
    

    注意

    如果安装方法失败,请尝试执行断开连接的环境中的步骤。

在已断开连接的环境中安装

可以安装客户端 VM 以在与 Internet 断开连接的 Azure Stack Hub 上管理 Kubernetes 群集。

  1. 从可以访问 Internet 的计算机:

    对于 AKS 引擎 0.73.0 及更低版本,请转到 GitHub Azure/aks-engine。 下载用于 Linux 计算机的存档 (*.tar.gz),例如 aks-engine-v0.xx.x-linux-amd64.tar.gz

    对于 AKS 引擎 0.75.3 及更高版本,请转到 GitHub Azure/aks-engine-azurestack。 下载用于 Linux 计算机的存档 (*.tar.gz),例如 aks-engine-azurestack-v0.xx.x-linux-amd64.tar.gz

    受支持的 Kubernetes 版本表中查找 AKS 引擎的版本。

  2. 在 Azure Stack Hub 实例中创建存储帐户,以便使用 AKS 引擎二进制文件上传存档文件 (*.tar.gz)。 有关使用 Azure 存储资源管理器的说明,请参阅 Azure 存储资源管理器与 Azure Stack Hub

  3. 在 Azure Stack Hub 中创建 Linux VM。 有关说明,请参阅快速入门:通过使用 Azure Stack Hub 门户创建 Linux 服务器 VM

  4. 从上传存档文件 (*.tar.gz) 的 Azure Stack Hub 存储帐户 Blob URL 将文件下载到管理 VM。 将该存档提取到 /usr/local/bin 目录。

  5. 连接到 VM。

  6. 运行以下命令:

    适用于 AKS 引擎 0.73.0 及更低版本:

    curl -o aks-engine-v0.xx.x-linux-amd64.tar.gz <httpurl/aks-engine-v0.xx.x-linux-amd64.tar.gz>
    tar xvzf aks-engine-v0.xx.x-linux-amd64.tar.gz -C /usr/local/bin
    

    适用于 AKS 引擎 0.75.3 及更高版本:

    curl -o aks-engine-azurestack-v0.xx.x-linux-amd64.tar.gz <httpurl/aks-engine-azurestack-v0.xx.x-linux-amd64.tar.gz>
    tar xvzf aks-engine-azurestack-v0.xx.x-linux-amd64.tar.gz -C /usr/local/bin
    

验证安装

设置客户端 VM 后,请检查是否已安装了 AKS 引擎。

  1. 连接到客户端 VM。
  2. 运行以下命令:

注意

对于 AKSe 0.75.3 及更高版本,用于检查当前版本的 AKS 引擎的命令为 aks-engine-azurestack version

aks-engine version
  1. 如果 Azure 资源管理器终结点使用自签名证书,你需要将根证书显式添加到该计算机的受信任证书存储。 可在 VM 中的此目录下找到根证书:/var/lib/waagent/Certificates.pem。 使用以下命令复制该证书文件:

    sudo cp /var/lib/waagent/Certificates.pem /usr/local/share/ca-certificates/azurestackca.crt 
    sudo update-ca-certificates
    

如果无法验证是否已在客户端 VM 上安装了 AKS 引擎,请参阅 AKS 引擎安装故障排除

ASDK 安装

在 ASDK 上为 AKS 引擎运行客户端 VM 时,需要添加证书。

在使用 ASDK 时,如果 Azure 资源管理器终结点使用自签名证书,你需要将此证书显式添加到该计算机的受信任证书存储。 可以在 ASDK 中部署的任何 VM 上找到 ASDK 根证书。 例如,在 Ubuntu VM 上,可在 /var/lib/waagent/Certificates.pem 目录中找到根证书。

使用以下命令复制该证书文件:

sudo cp /var/lib/waagent/Certificates.pem /usr/local/share/ca-certificates/azurestackca.crt

sudo update-ca-certificates

后续步骤