适用于:✔️ AKS Automatic(预览版)
[Azure Kubernetes 服务 (AKS) 自动(预览版)][what-is-aks-automatic] 为开发人员、DevOps 工程师和平台工程师提供最简单的托管 Kubernetes 体验。 AKS Automatic 可自动执行 AKS 群集设置和操作,并嵌入最佳做法配置,非常适合新式应用程序和 AI 应用程序。 任何技能级别的用户都可以从 AKS Automatic 对其应用程序的安全性、性能和可靠性中受益。 本快速入门假设读者基本了解 Kubernetes 的概念。 有关详细信息,请参阅 Azure Kubernetes 服务 (AKS) 的 Kubernetes 核心概念。
在此快速入门中,你将了解:
- 创建虚拟网络。
- 创建对虚拟网络具有权限的托管标识。
- 在虚拟网络中部署专用 AKS 自动版群集。
- 连接到专用群集。
- 运行一个示例多容器应用程序,其中的一组微服务和 Web 前端模拟零售场景。
如果没有 Azure 帐户,请创建 试用版。
先决条件
先决条件 | 注释 |
---|---|
Azure CLI |
2.68.0 或更高版本已安装。 若要查找版本,请运行 az --version 。 如果需要进行安装或升级,请参阅安装 Azure CLI。 |
Azure CLI aks-preview 扩展 |
13.0.0b3 或更高版本。 若要查找版本,请运行 az --version 。 如果需要安装或升级,请参阅 “管理 Azure CLI 扩展”。 |
功能标志 |
AutomaticSKUPreview 必须在 订阅上注册 才能使用 AKS Automatic。 |
所需权限(s) | 在 API 服务器子网上具有 Network Contributor 内置角色分配的群集标识。 |
在虚拟网络上具有 Network Contributor 内置角色分配的群集标识,用于支持节点自动预配。 |
|
使用资源组的 Microsoft.Authorization/policyAssignments/write 和 Microsoft.Authorization/policyAssignments/read 权限创建集群的用户标识。 有关详细信息,请参阅 [Azure Policy 权限][Azure-Policy-RBAC-permissions]。 |
|
使用 Azure Kubernetes Service Cluster User Role 和 Azure Kubernetes Service RBAC Writer 访问群集的用户标识 |
|
网络要求 | 大小至少为 */28 的专用 API 服务器子网委托给的 Microsoft.ContainerService/managedClusters 的虚拟网络 |
如果存在附加到子网的网络安全组 (NSG),请确保规则允许以下流量,这些流量存在于节点与 API 服务器之间、Azure 负载均衡器与 API 服务器之间以及 Pod 到 Pod 的通信之间。 | |
如果有 Azure 防火墙或其他出站限制方法或设备,请确保允许 所需的出站网络规则和 FQDN 。 |
局限性
- 使用自定义虚拟网络的 AKS 自动群集仅支持用户分配的托管标识。
- 使用自定义虚拟网络的 AKS Automatic 群集不支持托管 NAT 网关出站类型。
- AKS 自动群集需要在至少支持三个[可用性区域][可用性区域]的 Azure 区域中部署。
- AKS 自动群集不支持使用 [
command invoke
或运行命令功能][access-private-cluster] 远程调用命令,例如kubectl
通过 Azure API,而无需直接连接到群集。
重要
AKS Automatic 尝试根据订阅中可用的容量动态选择 system
节点池的虚拟机大小。 确保你的订阅在要部署群集的区域中具有以下任意大小的 16 个 vCPU 的配额:Standard_D4pds_v5、Standard_D4lds_v5、Standard_D4ads_v5、Standard_D4ds_v5、Standard_D4d_v5、Standard_D4d_v4、Standard_DS3_v2、Standard_DS12_v2。 可以通过 Azure 门户查看特定 VM 系列配额,并提交配额增加请求。
安装 aks-preview Azure CLI 扩展
重要
AKS 预览功能可在自助服务和自愿选择的基础上启用。 预览版按“现状”和“视供应情况”提供,它们不包括在服务级别协议和有限保证范围内。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:
若要安装 aks-preview 扩展,请运行以下命令:
az extension add --name aks-preview
运行以下命令以更新到已发布的最新扩展版本:
az extension update --name aks-preview
注册功能标志
若要在预览版中使用 AKS Automatic,请使用 [az feature register][az-feature-register] 命令注册以下标志。
az feature register --namespace Microsoft.ContainerService --name AutomaticSKUPreview
使用 [az feature show][az-feature-show] 命令验证注册状态。 需要花费几分钟时间,状态才会显示为“已注册”:
az feature show --namespace Microsoft.ContainerService --name AutomaticSKUPreview
当状态反映 已注册时,请使用 [az provider register][az-provider-register] 命令刷新 Microsoft.ContainerService 资源提供程序的注册:
az provider register --namespace Microsoft.ContainerService
定义变量
定义将在后续步骤中使用的以下变量。
RG_NAME=automatic-rg
VNET_NAME=automatic-vnet
CLUSTER_NAME=automatic
IDENTITY_NAME=automatic-uami
LOCATION=eastus
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
创建资源组
Azure 资源组是用于部署和管理 Azure 资源的逻辑组。
使用 az group create 命令创建资源组。
az group create -n ${RG_NAME} -l ${LOCATION}
以下示例输出类似于资源组成功创建:
{
"id": "/subscriptions/<guid>/resourceGroups/automatic-rg",
"location": "chinanorth3",
"managedBy": null,
"name": "automatic-rg",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
创建虚拟网络
使用 [az network vnet create
][az-network-vnet-create] 命令创建虚拟网络。 使用 [az network vnet subnet create
][az-network-vnet-subnet-create] 命令创建 API 服务器子网和群集子网。
将自定义虚拟网络与 AKS Automatic 配合使用时,必须创建 API 服务器子网并将其委托给 Microsoft.ContainerService/managedClusters
,该子网授予 AKS 服务将 API 服务器 Pod 和内部负载均衡器注入该子网的权限。 无法将该子网用于任何其他工作负载,但可将其用于同一虚拟网络中的多个 AKS 群集。 支持的最小 API 服务器子网大小为 /28。
警告
AKS 群集在子网地址空间中保留至少 9 个 IP。 用尽 IP 地址可能会阻止 API 服务器缩放并导致 API 服务器中断。
az network vnet create --name ${VNET_NAME} --resource-group ${RG_NAME} --location ${LOCATION} --address-prefixes 172.19.0.0/16
az network vnet subnet create --resource-group ${RG_NAME} --vnet-name ${VNET_NAME} --name apiServerSubnet --delegations Microsoft.ContainerService/managedClusters --address-prefixes 172.19.0.0/28
az network vnet subnet create --resource-group ${RG_NAME} --vnet-name ${VNET_NAME} --name clusterSubnet --address-prefixes 172.19.1.0/24
网络安全组规则
默认情况下,允许虚拟网络中的所有流量。 但是,如果添加了网络安全组规则 (NSG) 来限制不同子网之间的流量,请确保 NSG 安全规则允许以下类型的通信:
目的地 | 来源 | 协议 | 港口 | 使用 |
---|---|---|---|---|
APIServer 子网 CIDR | 群集子网 | TCP | 443 和 4443 | 如需启用节点与 API 服务器之间的通信,则必须支持。 |
APIServer 子网 CIDR | Azure Load Balancer | TCP | 9988 | 如需启用 Azure 负载均衡器与 API 服务器之间的通信,则必须支持。 你还可以启用 Azure 负载均衡器与 API 服务器子网 CIDR 之间的所有通信。 |
节点 CIDR | 节点 CIDR | 所有协议 | 所有端口 | 启用节点之间的通信时必需。 |
节点 CIDR | Pod CIDR | 所有协议 | 所有端口 | 路由服务流量时必需。 |
Pod CIDR | Pod CIDR | 所有协议 | 所有端口 | Pod 到 Pod 和 Pod 到服务的流量(包括 DNS)所必需。 |
创建托管标识并为其授予对虚拟网络的权限
使用 [az identity create
][az-identity-create] 命令创建托管标识并检索主体 ID。 使用 [][az-role-assignment-create] 命令将虚拟网络上的az role assignment create
角色分配给托管标识。
az identity create --resource-group ${RG_NAME} --name ${IDENTITY_NAME} --location ${LOCATION}
IDENTITY_CLIENT_ID=$(az identity show --resource-group ${RG_NAME} --name ${IDENTITY_NAME} --query clientId -o tsv)
az role assignment create --scope "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}" --role "Network Contributor" --assignee ${IDENTITY_CLIENT_ID}
在自定义虚拟网络中创建专用 AKS 自动群集
要创建专用 AKS 自动群集,请使用 az aks create 命令。 请注意 --enable-private-cluster
标志的使用。
az aks create --resource-group ${RG_NAME} --name ${CLUSTER_NAME} --location ${LOCATION} --apiserver-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/apiServerSubnet" --vnet-subnet-id "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RG_NAME}/providers/Microsoft.Network/virtualNetworks/${VNET_NAME}/subnets/clusterSubnet" --assign-identity "/subscriptions/${SUBSCRIPTION_ID}/resourcegroups/${RG_NAME}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/${IDENTITY_NAME}" --sku automatic --enable-private-cluster --no-ssh-key
片刻之后,该命令将会完成,并返回有关群集的 JSON 格式信息。
连接至群集
将 AKS 自动群集创建为专用群集时,API 服务器终结点没有公共 IP 地址。 例如,要通过 kubectl
管理 API 服务器,需要通过一台可以访问该群集的 Azure 虚拟网络的计算机进行连接。 有几种选项可用于建立与专用群集的网络连接。 有关详细信息,请参阅 [连接到专用群集的选项][connect-private-cluster]。
若要管理 Kubernetes 群集,请使用 Kubernetes 命令行客户端 kubectl。 要在本地安装 kubectl
,请运行 az aks install-cli 命令。 AKS 自动化群集配置为使用 [用于 Kubernetes 基于角色的访问控制(RBAC)的 Microsoft Entra ID][aks-entra-rbac]。
使用 Azure CLI 创建群集时,您的用户将为Azure Kubernetes Service RBAC Cluster Admin
分配[内置角色][aks-entra-rbac-builtin-roles]。
使用 kubectl
命令将 配置为连接到你的 Kubernetes 群集。 此命令将下载凭据,并将 Kubernetes CLI 配置为使用这些凭据。
az aks get-credentials --resource-group ${RG_NAME} --name ${CLUSTER_NAME}
使用 kubectl get 命令验证与群集之间的连接。 此命令将返回群集节点的列表。
kubectl get nodes
以下示例输出展示了登录的要求。
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
登录后,以下示例输出会显示托管系统节点池。 确保节点状态为“就绪”。
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
创建资源组
Azure 资源组是用于部署和管理 Azure 资源的逻辑组。 创建资源组时,系统会提示你指定一个位置。 此位置是资源组元数据的存储位置,也是资源在 Azure 中运行的位置(如果你在创建资源期间未指定其他区域)。
使用 az group create 命令创建资源组。
az group create --name <resource-group> --location <location>
以下示例输出类似于资源组成功创建:
{
"id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
"location": "chinanorth3",
"managedBy": null,
"name": "myResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
创建虚拟网络
此 Bicep 文件定义了一个虚拟网络。
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'
@description('The address prefix of the virtual network.')
param addressPrefix string = '172.19.0.0/16'
@description('The name of the API server subnet.')
param apiServerSubnetName string = 'apiServerSubnet'
@description('The subnet prefix of the API server subnet.')
param apiServerSubnetPrefix string = '172.19.0.0/28'
@description('The name of the cluster subnet.')
param clusterSubnetName string = 'clusterSubnet'
@description('The subnet prefix of the cluster subnet.')
param clusterSubnetPrefix string = '172.19.1.0/24'
// Virtual network with an API server subnet and a cluster subnet
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: vnetName
location: location
properties: {
addressSpace: {
addressPrefixes: [ addressPrefix ]
}
subnets: [
{
name: apiServerSubnetName
properties: {
addressPrefix: apiServerSubnetPrefix
}
}
{
name: clusterSubnetName
properties: {
addressPrefix: clusterSubnetPrefix
}
}
]
}
}
output apiServerSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, apiServerSubnetName)
output clusterSubnetId string = resourceId('Microsoft.Network/virtualNetworks/subnets', vnetName, clusterSubnetName)
将 Bicep 文件“virtualNetwork.bicep”保存到本地计算机。
重要
该 Bicep 文件将 vnetName
参数设置为 aksAutomaticVnet,将 参数设置为 172.19.0.0/16,将 addressPrefix
参数设置为 172.19.0.0/28,将 参数设置为 172.19.1.0/24。apiServerSubnetPrefix
apiServerSubnetPrefix
如果你想使用不同的值,请确保将字符串更新为偏好的值。
使用 Azure CLI 部署 Bicep 文件。
az deployment group create --resource-group <resource-group> --template-file virtualNetwork.bicep
默认情况下,允许虚拟网络中的所有流量。 但是,如果添加了网络安全组规则 (NSG) 来限制不同子网之间的流量,请确保 NSG 安全规则允许以下类型的通信:
目的地 | 来源 | 协议 | 港口 | 使用 |
---|---|---|---|---|
APIServer 子网 CIDR | 群集子网 | TCP | 443 和 4443 | 如需启用节点与 API 服务器之间的通信,则必须支持。 |
APIServer 子网 CIDR | Azure Load Balancer | TCP | 9988 | 如需启用 Azure 负载均衡器与 API 服务器之间的通信,则必须支持。 你还可以启用 Azure 负载均衡器与 API 服务器子网 CIDR 之间的所有通信。 |
创建管理标识
此 Bicep 文件定义用户分配的托管标识。
param location string = resourceGroup().location
param uamiName string = 'aksAutomaticUAMI'
resource userAssignedManagedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
name: uamiName
location: location
}
output uamiId string = userAssignedManagedIdentity.id
output uamiPrincipalId string = userAssignedManagedIdentity.properties.principalId
output uamiClientId string = userAssignedManagedIdentity.properties.clientId
将 Bicep 文件 uami.bicep 保存到本地计算机。
重要
Bicep 文件将 uamiName
参数设置为 aksAutomaticUAMI。 如果你想使用不同的标识名称,请确保将字符串更新为偏好的名称。
使用 Azure CLI 部署 Bicep 文件。
az deployment group create --resource-group <resource-group> --template-file uami.bicep
分配对虚拟网络的网络参与者角色
此 Bicep 文件定义对虚拟网络的角色分配。
@description('The name of the virtual network.')
param vnetName string = 'aksAutomaticVnet'
@description('The principal ID of the user assigned managed identity.')
param uamiPrincipalId string
// Get a reference to the virtual network
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-09-01' existing ={
name: vnetName
}
// Assign the Network Contributor role to the user assigned managed identity on the virtual network
// '4d97b98b-1d4f-4787-a291-c67834d212e7' is the built-in Network Contributor role definition
// See: https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/networking#network-contributor
resource networkContributorRoleAssignmentToVirtualNetwork 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(uamiPrincipalId, '4d97b98b-1d4f-4787-a291-c67834d212e7', resourceGroup().id, virtualNetwork.name)
scope: virtualNetwork
properties: {
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', '4d97b98b-1d4f-4787-a291-c67834d212e7')
principalId: uamiPrincipalId
}
}
将 Bicep 文件 roleAssignments.bicep 保存到本地计算机。
重要
Bicep 文件将 vnetName
参数设置为 aksAutomaticVnet。 如果你使用其他虚拟网络名称,请确保将字符串更新为偏好的虚拟网络名称。
使用 Azure CLI 部署 Bicep 文件。 需要提供用户分配的标识的主体 ID。
az deployment group create --resource-group <resource-group> --template-file roleAssignments.bicep \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
在自定义虚拟网络中创建专用 AKS 自动群集
此 Bicep 文件会定义 AKS 自动群集。
注释
请参阅 [专用群集][专用群集] 文档,了解如何配置其他选项,例如禁用群集公共 FQDN 和配置专用 DNS 区域。
@description('The name of the managed cluster resource.')
param clusterName string = 'aksAutomaticCluster'
@description('The location of the managed cluster resource.')
param location string = resourceGroup().location
@description('The resource ID of the API server subnet.')
param apiServerSubnetId string
@description('The resource ID of the cluster subnet.')
param clusterSubnetId string
@description('The resource ID of the user assigned managed identity.')
param uamiId string
/// Create the private AKS Automatic cluster using the custom virtual network and user assigned managed identity
resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
name: clusterName
location: location
sku: {
name: 'Automatic'
}
properties: {
agentPoolProfiles: [
{
name: 'systempool'
mode: 'System'
count: 3
vnetSubnetID: clusterSubnetId
}
]
apiServerAccessProfile: {
subnetId: apiServerSubnetId
enablePrivateCluster: true
}
networkProfile: {
outboundType: 'loadBalancer'
}
}
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${uamiId}': {}
}
}
}
将 Bicep 文件 aks.bicep 保存到本地计算机。
重要
Bicep 文件将 clusterName
参数设置为 aksAutomaticCluster。 如果你想要其他群集名称,请确保将字符串更新为偏好的群集名称。
使用 Azure CLI 部署 Bicep 文件。 需要提供 API 服务器子网资源 ID、群集子网资源 ID 和用户分配的标识主体 ID。
az deployment group create --resource-group <resource-group> --template-file aks.bicep \
--parameters apiServerSubnetId=<API server subnet resource id> \
--parameters clusterSubnetId=<cluster subnet resource id> \
--parameters uamiPrincipalId=<user assigned identity prinicipal id>
连接至群集
将 AKS 自动群集创建为专用群集时,API 服务器终结点没有公共 IP 地址。 例如,要通过 kubectl
管理 API 服务器,需要通过一台可以访问该群集的 Azure 虚拟网络的计算机进行连接。 有几种选项可用于建立与专用群集的网络连接:
- 使用带有标志的 [
az vm create
][az-vm-create] 命令--vnet-name
,在 AKS 自动群集所在的同一虚拟网络中创建虚拟机。 - 在单独的虚拟网络中使用虚拟机,并设置 [虚拟网络对等互连][虚拟网络对等互连]。
- 使用 [Express Route 或 VPN][express-route-or-VPN] 连接。
在 AKS 群集所在的同一虚拟网络中创建虚拟机是最简单的选项。 快速路由和 VPN 会增加成本,且要求额外的网络复杂性。 虚拟网络对等互联要求计划网络 CIDR 范围,以确保不存在重叠范围。 有关详细信息,请参阅 [连接到专用群集的选项][connect-private-cluster]。
若要管理 Kubernetes 群集,请使用 Kubernetes 命令行客户端 kubectl。 如果使用 Azure Cloud Shell,则已安装 kubectl
。 要在本地安装 kubectl
,请运行 az aks install-cli 命令。 AKS 自动化群集配置为使用 [用于 Kubernetes 基于角色的访问控制(RBAC)的 Microsoft Entra ID][aks-entra-rbac]。
重要
使用 Bicep 创建群集时,您需要将内置角色之一[c0]、[c1]、[c2]或[c3]分配给您的用户,并且范围可以限定为群集或特定命名空间,例如使用[c4]。 另请确保用户具有 Azure Kubernetes Service Cluster User
内置角色以便能够运行 az aks get-credentials
,然后使用 az aks get-credentials
命令获取 AKS 群集的 kubeconfig。
使用 kubectl
命令将 配置为连接到你的 Kubernetes 群集。 此命令将下载凭据,并将 Kubernetes CLI 配置为使用这些凭据。
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
使用 kubectl get 命令验证与群集之间的连接。 此命令将返回群集节点的列表。
kubectl get nodes
以下示例输出展示了登录的要求。
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
登录后,以下示例输出会显示托管系统节点池。 确保节点状态为“就绪”。
NAME STATUS ROLES AGE VERSION
aks-nodepool1-13213685-vmss000000 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000001 Ready agent 2m26s v1.28.5
aks-nodepool1-13213685-vmss000002 Ready agent 2m26s v1.28.5
部署应用程序
若要部署该应用程序,请使用清单文件创建运行 AKS 应用商店应用程序所需的所有对象。 Kubernetes 清单文件定义群集的所需状态,例如,要运行哪些容器映像。 该清单包括以下 Kubernetes 部署和服务:
- 门店:Web 应用程序,供客户查看产品和下单。
- 产品服务:显示产品信息。
- 订单服务:下单。
- Rabbit MQ:工单队列的消息队列。
注释
不建议在没有持久性存储用于生产的情况下,运行有状态容器(例如 Rabbit MQ)。 为简单起见,此处使用这些容器,但建议使用托管服务,例如 Azure Cosmos DB 或 Azure 服务总线。
创建命名空间
aks-store-demo
以将 Kubernetes 资源部署到其中。kubectl create ns aks-store-demo
使用 kubectl apply 命令将应用程序部署到
aks-store-demo
命名空间中。 定义部署的 YAML 文件位于 GitHub 上。kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
以下示例输出显示部署和服务:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created ingress/store-front created
测试应用程序
应用程序运行时,Kubernetes 服务将向 Internet 公开应用程序前端。 此过程可能需要几分钟才能完成。
使用 kubectl get pods 命令查看已部署的 Pod 的状态。 在继续操作之前,请确保所有 Pod 的状态为
Running
。 如果这是你要部署的第一个工作负载,节点自动预配可能需要花费几分钟时间来创建节点池,以运行 Pod。kubectl get pods -n aks-store-demo
检查应用商店前端应用程序的公共 IP 地址。 使用带有 参数的
--watch
命令来监视进度。kubectl get ingress store-front -n aks-store-demo --watch
服务的 ADDRESS 输出最初显示为空:
store-front
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 80 12m
在 ADDRESS 从空白变为实际公共 IP 地址后,使用 停止
CTRL-C
监视过程。kubectl
以下示例输出显示向服务分配的有效公共 IP 地址:
NAME CLASS HOSTS ADDRESS PORTS AGE store-front webapprouting.kubernetes.azure.com * 4.255.22.196 80 12m
若要查看 Azure Store 应用的实际效果,请打开 Web 浏览器并转到入口的外部 IP 地址。
删除群集
如果不打算完成 AKS 教程,请清理不必要的资源以避免产生 Azure 费用。 运行 az group delete 命令以移除资源组、容器服务及所有相关资源。
az group delete --name <resource-group> --yes --no-wait
注释
AKS 群集是使用用户分配的托管标识创建的。 如果你不再需要该身份,则可以手动将其移除。
后续步骤
在本快速入门中,你在自定义虚拟网络中使用 [AKS Automatic][what-is-aks-automatic] 部署了专用 Kubernetes 群集,然后将简单的多容器应用程序部署到该群集。 此示例应用程序仅用于演示目的,并未展示出 Kubernetes 应用程序的所有最佳做法。
若要详细了解 AKS Automatic,请继续阅读简介。
[Azure Kubernetes 服务自动化(预览版)介绍][what-is-aks-automatic]
https://learn.microsoft.com [az-feature-register]:https://learn.microsoft.com/cli/azure/feature#az_feature_register [az-feature-show]:https://learn.microsoft.com/cli/azure/feature#az_feature_show [az-provider-register]:https://learn.microsoft.com/cli/azure/provider#az_provider_register [what-is-aks-automatic]:../intro-aks-automatic.md [Azure-Policy-RBAC-permissions]:/governance/policy/overview#azure-rbac-permissions-in-azure-policy [aks-entra-rbac]:/aks/manage-azure-rbac [aks-entra-rbac-builtin-roles]:/aks/manage-azure-rbac#create-role-assignments-for-users-to-access-the-cluster [availability-zones]:/reliability/availability-zones-region-support [az-network-vnet-create]:https://learn.microsoft.com/cli/azure/network/vnet#az-network-vnet-create [az-network-vnet-subnet-create]:https://learn.microsoft.com/cli/azure/network/vnet/subnet#az-network-vnet-subnet-create [az-identity-create]:https://learn.microsoft.com/cli/azure/identity#az-identity-create [az-role-assignment-create]:https://learn.microsoft.com/cli/azure/role/assignment#az-role-assignment-create [private-cluster]:../private-clusters.md [az-vm-create]:https://learn.microsoft.com/cli/azure/vm#az-vm-create [connect-private-cluster]:../private-clusters.md#options-for-connecting-to-the-private-cluster [virtual-network-peering]:../private-clusters.md#virtual-network-peering [express-route-or-vpn]:/expressroute/expressroute-about-virtual-network-gateways [access-private-cluster]:../access-private-cluster.md