Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Kubernetes 为容器化应用程序提供一个分布式平台。 使用 Azure Kubernetes 服务 (AKS),可以快速创建生产就绪的 Kubernetes 群集。
在本教程中,你将在 AKS 中部署一个 Kubernetes 群集。 你将学会如何:
- 部署一个可向 Azure 容器注册表 (ACR) 进行身份验证的 AKS 群集。
- 安装 Kubernetes CLI
kubectl。 - 配置
kubectl以连接到 AKS 群集。
开始之前
在前面的教程中,你已创建一个容器映像并将其上传到 ACR 实例。 从教程 1 - 为 AKS 准备应用程序开始学习。
本教程将创建可计费的 AKS 群集资源,并要求Azure订阅中的所有者或Azure帐户管理员角色。
- 如果你使用的是 Azure CLI,本教程要求运行 Azure CLI 2.35.0 或更高版本。 使用
az --version检查版本。 若要安装或升级,请参阅 安装 Azure CLI。 - 如果使用的是 Azure PowerShell,本教程要求运行 Azure PowerShell 5.9.0 或更高版本。 使用
Get-InstalledModule -Name Az检查版本。 若要进行安装或升级,请参阅安装 Azure PowerShell。 - 如果你使用的是 Azure Developer CLI,本教程要求运行 Azure Developer CLI 版本 1.5.1 或更高版本。 使用
azd version检查版本。 若要安装或升级,请参阅安装 Azure Developer CLI。
创建 Kubernetes 群集
AKS 群集可以使用 Kubernetes 基于角色的访问控制 (Kubernetes RBAC),它允许你根据分配给用户的角色定义对资源的访问权限。 如果为用户分配了多个角色,则权限会合并。 可将权限范围限定为单个命名空间或整个群集。
若要详细了解 AKS 和 Kubernetes RBAC,请参阅在 AKS 中使用 Kubernetes RBAC 和 Microsoft Entra 标识控制对群集资源的访问。
本教程需要 Azure CLI 2.35.0 或更高版本。 使用 az --version 检查版本。 若要安装或升级,请参阅 安装 Azure CLI。
安装 Kubernetes CLI
可以使用 Kubernetes CLI kubectl 连接到 Kubernetes 群集。 如果使用的是 Azure Cloud Shell,则 kubectl 已安装。 如果在本地运行命令,则可以使用 Azure CLI 或 Azure PowerShell 安装 kubectl。
使用
kubectl命令在本地安装az aks install-cli。az aks install-cli
创建 AKS 群集
AKS 群集可以使用 Kubernetes 基于角色的访问控制 (Kubernetes RBAC),它允许你根据分配给用户的角色定义对资源的访问权限。 为用户分配多个角色时,将合并权限。 可将权限范围限定为单个命名空间或整个群集。 有关详细信息,请参阅在 AKS 中使用 Kubernetes RBAC 和 Microsoft Entra ID 控制对群集资源的访问。
若要允许 AKS 群集与其他 Azure 资源交互,Azure 平台会自动创建群集标识。 在此示例中,为群集标识授予了从你在上一教程中创建的 ACR 实例拉取映像的权限。 若要成功执行该命令,你必须在 Azure 订阅中拥有“所有者”或“Azure 帐户管理员”角色。
- 使用
az aks create命令创建 AKS 群集。 以下示例在名为 myResourceGroup 的资源组中创建名为 myAKSCluster 的群集。 此资源组是上一篇教程中在 westus2 区域中创建的。 我们将继续使用在$ACRNAME中设置的环境变量 。 如果没有设置此环境变量,请现在将其设置为与之前使用的值相同的值。
AKS 标准 版 - 可让你完全控制群集配置和节点管理。 如果需要自定义群集设置,请选择此选项。 若要将 AKS Desktop 与标准群集配合使用,请在创建时指定 其他群集选项 。
仅当你选择了 AKS Standard 时,才运行此命令块。
重要
本教程将创建三节点群集。 如果你在尝试创建群集时收到错误消息,则可能需要请求提高 Azure 订阅的配额或尝试使用其他 Azure 区域。 或者,可以使用更少的节点,或者省略节点 VM 大小参数以使用默认 VM 大小。 有关 AKS 资源限制和区域可用性的信息,请参阅 AKS 中的配额、虚拟机大小限制和区域可用性。
az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 3 \ --node-vm-size standard_l8s_v3 \ --generate-ssh-keys \ --attach-acr $ACRNAME注释
如果已生成 SSH 密钥,你可能会遇到类似于
linuxProfile.ssh.publicKeys.keyData is invalid的错误。 若要继续,请在不使用--generate-ssh-keys参数的情况下重试该命令。
为避免需要“所有者”或“Azure 帐户管理员”角色,还可以手动配置服务主体,以从 ACR 中拉取映像。 有关详细信息,请参阅使用服务主体进行 ACR 身份验证或使用拉取机密从 Kubernetes 进行身份验证。 或者,可以使用托管标识而不是服务主体,以便更轻松地进行管理。
使用 kubectl 连接到群集
使用
kubectl命令将az aks get-credentials配置为连接到你的 Kubernetes 群集。 以下示例获取 myResourceGroup 中名为 myAKSCluster 的 AKS 群集的凭据。az aks get-credentials --resource-group myResourceGroup --name myAKSCluster使用
kubectl get nodes命令验证与群集的连接,该命令将返回群集节点的列表。kubectl get nodes以下示例输出显示群集节点的列表:
NAME STATUS ROLES AGE VERSION aks-nodepool1-19366578-vmss000000 Ready agent 47h v1.30.9 aks-nodepool1-19366578-vmss000001 Ready agent 47h v1.30.9 aks-nodepool1-19366578-vmss000002 Ready agent 47h v1.30.9
后续步骤
在本教程中,你已在 AKS 中部署了一个 Kubernetes 群集并配置了 kubectl 以连接到该群集。 你已了解如何执行以下操作:
- 部署一个可向 ACR 进行身份验证的 AKS 群集。
- 安装 Kubernetes CLI
kubectl。 - 配置
kubectl以连接到 AKS 群集。
下一篇教程将介绍如何在群集上部署 Azure 容器存储和创建常规临时卷。 如果你使用的是 Azure Developer CLI,或者由于配额问题而无法使用存储优化的 VM 类型,请直接转到部署容器化应用程序教程。