在Azure中使用过AKS的小伙伴应该都知道,默认情况下,Azure免费给我们提供AKS管理平台的使用,我们只需要为使用的节点资源付费即可。 作为用户,可以创建无限数量的具有99.5%服务水平目标的免费AKS群集。作为一个运行着诸多重要系统的群集,很多管理者都担心99.5%的服务水平目标不能满足业务的运行时间要求,因此,微软推出了标准层的AKS群集。相比于免费版本的AKS群集而言,用户可以付费增加群集的SLA。具有正常运行时间 SLA 的群集也被视为 AKS REST API 的付费服务层,并且除了增加控制平面资源外,还会随着群集上的负载自动扩展。正常运行时间 SLA保证 Kubernetes API 服务器端点对于具有可用区的集群具有 99.95% 的可用性,对于没有可用区的集群具有 99.9% 的可用性。AKS 使用跨更新域和故障域的主节点副本来确保满足 SLA 要求。
具体的免费层和标准层之间的差异如下:
免费层 | 标准层 | |
使用时机 | • 你想免费试用 AKS • 你不熟悉 AKS 和 Kubernetes | • 你正在运行生产或任务关键型工作负载,需要高可用性和可靠性 • 你需要有资金保障的 SLA |
支持的群集类型 | • 开发群集或小规模测试环境 • 少于 10 个节点的群集 | • 企业级或生产工作负载 • 最多包含 5,000 个节点的群集 |
定价 | • 免费群集管理 • 根据使用的资源即用即付 | • 根据使用的资源即用即付 |
功能比较 | • 建议用于节点数少于 10 个但最多可支持 1,000 个节点的群集 • 包括所有当前 AKS 功能 | • 运行时间 SLA 在默认情况下已启用 • 更高的群集可靠性和资源 • 一个群集最多可支持 5,000 个节点 • 包括所有当前 AKS 功能 |
正常运行时间 SLA 是一项付费功能,按集群启用。正常运行时间 SLA 定价基于单个集群的数量,而不是单个集群的大小。
在使用CLI创建AKS群集时,可以指定参数 --no-uptime-sla 和 --uptime-sla 来创建标准或免费的AKS群集具体如下:
创建免费集群:
az aks create --resource-group myResourceGroup --name myAKSCluster --no-uptime-sla
创建标准集群:
az aks create --resource-group myResourceGroup --name myAKSCluster --uptime-sla
部署完成后,会返回有关群集的JSON格式信息:
# Sample output for --no-uptime-sla
},
"sku": {
"name": "Basic",
"tier": "Free"
},
# Sample output for --uptime-sla
},
"sku": {
"name": "Base",
"tier": "Paid"
},
前面给大家演示了如何创建标准层的新群几,那么对于已有的AKS群集如何升级到标准层呢,具体如下所示:
az aks update --resource-group myResourceGroup --name myAKSCluster --uptime-sla
同样,升级完成以后,可以看到返回的JSON格式信息。