可以使用 Azure Stack Hub 中的 Linux 计算机来托管 AKS 引擎,以便部署和管理 Kubernetes 群集。 本文介绍如何准备客户端 VM,以便管理已连接和断开连接的 Azure Stack Hub 实例的群集、检查安装和在 ASDK 上设置客户端 VM。
准备客户端 VM
AKS 引擎是用于部署和管理 Kubernetes 群集的命令行工具。 可以在 Azure Stack Hub 中的计算机上运行引擎。 在此计算机上,使用 AKS 引擎部署运行群集所需的 IaaS 资源和软件。 然后,可以使用运行引擎的计算机在群集上执行管理任务。
选择客户端计算机时,请考虑:
- 当发生灾难时,该客户端计算机是否应当可恢复。
- 如何连接到客户端计算机以及计算机如何与群集交互。
在连接的环境中安装
可以安装客户端 VM 以在连接到 Internet 的 Azure Stack Hub 上管理 Kubernetes 群集。
在 Azure Stack Hub 中创建 Linux VM。 有关说明,请参阅 快速入门:使用 Azure Stack Hub 门户创建 Linux 服务器 VM。
连接到 VM。
使用包管理器检查是否已安装以下工具:
-
jq
JSON 处理器。 -
curl
- 用于使用各种网络协议传输文件的工具。 -
openssh
一个 SSH 客户端。 -
tar
用于处理 TAR 存档的工具。
-
安装 Azure CLI。 适用于 Azure CLI 的包适用于大多数分发版。 可以在 Linux 上安装 Azure CLI 中找到说明。
在 AKS 引擎和 Azure Stack 版本映射表中查找 AKS 引擎的版本。 AKS 基础映像必须在 Azure Stack Hub 市场中可用。 运行该命令时,必须指定版本
--version v0.xx.x
。 如果不指定版本,该命令将安装最新版,这样可能就会需要市场中未提供的 VHD 映像。注释
可以在 AKS 引擎发行说明中找到 Azure Stack Hub 到 AKS 引擎版本号的映射。
运行下面的命令:
对于 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 群集。
从可以联网的计算机:
对于 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 引擎的版本。
在 Azure Stack Hub 实例中创建存储帐户,以便使用 AKS 引擎二进制文件上传存档文件 (*.tar.gz)。 有关使用 Azure 存储资源管理器的说明,请参阅 Azure 存储资源管理器与 Azure Stack Hub。
在 Azure Stack Hub 中创建 Linux VM。 有关说明,请参阅 快速入门:使用 Azure Stack Hub 门户创建 Linux 服务器 VM。
从上传存档文件 (*.tar.gz) 的 Azure Stack Hub 存储帐户 Blob URL 将文件下载到管理 VM。 将存档解压缩到目录
/usr/local/bin
。连接到 VM。
运行下面的命令:
对于 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 引擎。
- 连接到客户端 VM。
- 运行下面的命令:
注释
对于 AKSe 0.75.3 及更高版本,用于检查当前版本的 AKS 引擎的命令是 aks-engine-azurestack version
。
aks-engine version
如果 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