我正在测试一些Terraform代码以创建Kubernetes集群,所以我选择了最小/最便宜的VM
resource "azurerm_kubernetes_cluster" "k8s" {
name = "${var.cluster_name}"
location = "${azurerm_resource_group.resource_group.location}"
resource_group_name = "${azurerm_resource_group.resource_group.name}"
dns_prefix = "${var.dns_prefix}"
agent_pool_profile {
name = "agentpool"
count = "${var.agent_count}"
vm_size = "Standard_B1s"
os_type = "Linux"
os_disk_size_gb = "${var.agent_disk_size}"
}
service_principal {
client_id = "${var.client_id}"
client_secret = "${var.client_secret}"
}
}
但是,当我terraform apply
时,我从天青返回此错误消息:
“为此群集
Standard_B1s
选择的VM SKU没有足够的CPU /内存来作为AKS节点运行。”
如何列出AKS节点的有效VM SKU并按成本排序?
答案 0 :(得分:5)
您需要选择一个具有至少3.5 GB内存的实例。从此blog阅读关于节点大小的注释。您可以在Azure sales site上列出VM的大小和价格。
答案 1 :(得分:2)
如果您调整vmss的大小,然后升级实例,您将获得比B2便宜的B1。 Linux每月$ 3.80,Windows每月$ 10.22
无论出于何种原因,您都无法在Terraform中执行此操作。
步骤1: 点击vmss->设置->大小->查看所有大小(以小字体显示)->调整大小
步骤2: 单击vmss->设置->实例-> _0->升级(在顶部控制器栏)
我不必担心虚拟机实例的大小。这是Terraform使您脱颖而出的地方。 os_disk_size_gb。将此值设置得较低,否则默认为每个实例每月$ 20。似乎没有办法更改层,它们默认使用高级128GB磁盘,似乎您每个节点只花30美元。
更新: 我开始遇到大小为b1ls的实例的一些问题。
答案 2 :(得分:0)
只需添加到现有答案即可。我认为没有列出所有有效大小的vms的枚举,但是如果您查看API definition,它会清楚地列出所有这些大小。
您可以使用azureprice.net或类似的方法找出您所在地区(通常是B系列)中最便宜的vm。