练习 - 创建 Azure Kubernetes 服务群集

已完成

在本练习中,创建一个使用多个节点的 AKS 群集,以满足多个客户使用此服务的需求。 你决定使用由单个控制平面和多个节点构成的体系结构,因为它提供了创建和管理工作负载资源的最佳方法。

AKS 通过门户或 Azure CLI 支持 Linux 和 Windows 节点池,但如果要使用 Windows 节点池,则必须使用额外的先决条件和命令创建群集。 根据要添加的节点池类型选择一个操作系统。

重要

需要自己的 Azure 订阅才能运行此练习,这可能会产生费用。 如果还没有 Azure 订阅,请在开始前创建一个免费帐户

  1. 使用要在其中部署资源的帐户登录到 Azure Cloud Shell。

    重要

    我们将使用 Bash 运行所有脚本,因此如果你尚未创建 Cloud Shell,请选择“Bash”作为运行 shell。

  2. 为在练习中重复使用的配置值创建变量。

    export RESOURCE_GROUP=rg-contoso-video
    export CLUSTER_NAME=aks-contoso-video
    export LOCATION=eastus
    

    将 LOCATION 变量更新为离你最近的区域。 本示例使用 eastus

  3. 运行 az group create 命令以创建资源组。 将所有资源部署到此新资源组中。

    az group create --name=$RESOURCE_GROUP --location=$LOCATION
    
  4. 运行 az aks create 命令以创建 AKS 群集。

    az aks create \
        --resource-group $RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --node-count 2 \
        --generate-ssh-keys \
        --node-vm-size Standard_B2s \
        --network-plugin azure
    

    该命令在 rg-contoso-video 资源组中创建名为 aks-contoso-video 的新 AKS 群集。 该群集有两个由 --node-count 参数定义的节点。 在本练习中,为了成本考虑,我们只使用两个节点。 --node-vm-size 参数将群集节点配置为 Standard_B2s-sized VM。 这些节点是“系统”模式的一部分

    重要

    需要标准 B2s VM 才能创建节点池,但该 VM 在免费层订阅中不可用。 如果收到有关限制的通知,则需要升级到标准升级。

  5. 运行 az aks nodepool add 命令,添加使用默认 Linux 操作系统的其他节点池。

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name userpool \
        --node-count 2 \
        --node-vm-size Standard_B2s
    

    该命令将一个新的节点池(用户模式)添加到现有 AKS 群集(使用前面的命令创建)。 与“系统”节点池不同,此用户节点池用于托管应用程序和工作负载

  1. 在 Cloud Shell 中运行以下命令将 Kubernetes 群集与 kubectl 链接。

    az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

    此命令将一个条目添加到 ~/.kube/config 文件,其中包含用于访问群集的所有信息。 Kubectl 使你可以通过一个命令行接口管理多个群集。

  2. 运行 kubectl get nodes 命令,以检查是否可以连接到群集并确认其配置。

    kubectl get nodes
    

    输出应列出两个节点池的四个可用节点。

NAME                                STATUS   ROLES   AGE    VERSION
aks-nodepool1-21895026-vmss000000   Ready    agent   245s   v1.23.12
aks-nodepool1-21895026-vmss000001   Ready    agent   245s   v1.23.12
aks-userpool-21895026-vmss000000    Ready    agent   105s   v1.23.12
aks-userpool-21895026-vmss000001    Ready    agent   105s   v1.23.12