练习 - 创建 Azure Kubernetes 服务群集
在本练习中,创建一个使用多个节点的 AKS 群集,以满足多个客户使用此服务的需求。 你决定使用由单个控制平面和多个节点构成的体系结构,因为它提供了创建和管理工作负载资源的最佳方法。
AKS 通过门户或 Azure CLI 支持 Linux 和 Windows 节点池,但如果要使用 Windows 节点池,则必须使用额外的先决条件和命令创建群集。 根据要添加的节点池类型选择一个操作系统。
重要
需要自己的 Azure 订阅才能运行此练习,这可能会产生费用。 如果还没有 Azure 订阅,请在开始前创建一个免费帐户。
使用要在其中部署资源的帐户登录到 Azure Cloud Shell。
重要
我们将使用 Bash 运行所有脚本,因此如果你尚未创建 Cloud Shell,请选择“Bash”作为运行 shell。
为在练习中重复使用的配置值创建变量。
export RESOURCE_GROUP=rg-contoso-video export CLUSTER_NAME=aks-contoso-video export LOCATION=eastus
将 LOCATION 变量更新为离你最近的区域。 本示例使用
eastus
。运行
az group create
命令以创建资源组。 将所有资源部署到此新资源组中。az group create --name=$RESOURCE_GROUP --location=$LOCATION
运行
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 在免费层订阅中不可用。 如果收到有关限制的通知,则需要升级到标准升级。
运行
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 群集(使用前面的命令创建)。 与“系统”节点池不同,此用户节点池用于托管应用程序和工作负载。
与 kubectl 链接
在 Cloud Shell 中运行以下命令将 Kubernetes 群集与
kubectl
链接。az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
此命令将一个条目添加到
~/.kube/config
文件,其中包含用于访问群集的所有信息。 Kubectl 使你可以通过一个命令行接口管理多个群集。运行
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