【问题标题】:Cannot change agent VM count无法更改代理 VM 计数
【发布时间】:2017-04-06 07:28:04
【问题描述】:

我创建了一个代理计数为 1 的 ACS Kubernetes 集群。我前往门户将代理计数增加到 2,并收到一般错误,提示为容器服务配置资源失败。

查看活动日志,还有更多信息。

写入 ContainerServices - PreconditionFailed - 为容器服务“xxxxxxx”提供资源 资源组“xxxxxxxx”失败。


验证 - 无效模板 - 部署模板验证失败:模板中未定义资源“Microsoft.Network/networkSecurityGroups/k8s-master-3E4D5818-nsg”。请参阅https://aka.ms/arm-template了解使用详情。'。

尝试通过 Azure CLI 2.0 更改它也会返回相同的错误。


更新:根据quickstart templates repo 中的示例,使用具有单个容器服务资源的 ARM 模板建立了集群。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "dnsNamePrefix": {
      "type": "string",
      "metadata": {
        "description": "Sets the Domain name prefix for the cluster.  The concatenation of the domain name and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address."
      }
    },
    "agentCount": {
      "type": "int",
      "defaultValue": 1,
      "metadata": {
        "description": "The number of agents for the cluster.  This value can be from 1 to 100 (note, for Kubernetes clusters you will also get 1 or 2 public agents in addition to these seleted masters)"
      },
      "minValue":1,
      "maxValue":100
    },
    "agentVMSize": {
      "type": "string",
      "defaultValue": "Standard_D2_v2",
      "allowedValues": [
            "Standard_A0", "Standard_A1", "Standard_A2", "Standard_A3", "Standard_A4", "Standard_A5",
            "Standard_A6", "Standard_A7", "Standard_A8", "Standard_A9", "Standard_A10", "Standard_A11",
            "Standard_D1", "Standard_D2", "Standard_D3", "Standard_D4",
            "Standard_D11", "Standard_D12", "Standard_D13", "Standard_D14",
            "Standard_D1_v2", "Standard_D2_v2", "Standard_D3_v2", "Standard_D4_v2", "Standard_D5_v2",
            "Standard_D11_v2", "Standard_D12_v2", "Standard_D13_v2", "Standard_D14_v2",
            "Standard_G1", "Standard_G2", "Standard_G3", "Standard_G4", "Standard_G5",
            "Standard_DS1", "Standard_DS2", "Standard_DS3", "Standard_DS4",
            "Standard_DS11", "Standard_DS12", "Standard_DS13", "Standard_DS14",
            "Standard_GS1", "Standard_GS2", "Standard_GS3", "Standard_GS4", "Standard_GS5"
      ],
      "metadata": {
        "description": "The size of the Virtual Machine."
      }
    },
    "linuxAdminUsername": {
      "type": "string",
      "defaultValue": "azureuser",
      "metadata": {
        "description": "User name for the Linux Virtual Machines."
      }
    },
    "orchestratorType": {
      "type": "string",
      "defaultValue": "Kubernetes",
      "allowedValues": [
        "Kubernetes",
        "DCOS",
        "Swarm"
      ],
      "metadata": {
        "description": "The type of orchestrator used to manage the applications on the cluster."
      }
    },
    "masterCount": {
      "type": "int",
      "defaultValue": 1,
      "allowedValues": [
        1
      ],
      "metadata": {
        "description": "The number of Kubernetes masters for the cluster."
      }
    },
    "sshRSAPublicKey": {
      "type": "string",
      "metadata": {
        "description": "Configure all linux machines with the SSH RSA public key string.  Your key should include three parts, for example 'ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm'"
      }
    },
    "servicePrincipalClientId": {
      "metadata": {
        "description": "Client ID (used by cloudprovider)"
      },
      "type": "securestring",
      "defaultValue": "n/a"
    },
    "servicePrincipalClientSecret": {
      "metadata": {
        "description": "The Service Principal Client Secret."
      },
      "type": "securestring",
      "defaultValue": "n/a"
    }
  },
  "variables": {
    "adminUsername":"[parameters('linuxAdminUsername')]",
    "agentCount":"[parameters('agentCount')]",
    "agentsEndpointDNSNamePrefix":"[concat(parameters('dnsNamePrefix'),'agents')]",
    "agentVMSize":"[parameters('agentVMSize')]",
    "masterCount":"[parameters('masterCount')]",
    "mastersEndpointDNSNamePrefix":"[concat(parameters('dnsNamePrefix'),'mgmt')]",
    "orchestratorType":"[parameters('orchestratorType')]",
    "sshRSAPublicKey":"[parameters('sshRSAPublicKey')]",
    "servicePrincipalClientId": "[parameters('servicePrincipalClientId')]",
    "servicePrincipalClientSecret": "[parameters('servicePrincipalClientSecret')]",
    "useServicePrincipalDictionary": {
      "DCOS": 0,
      "Swarm": 0,
      "Kubernetes": 1
    },
    "useServicePrincipal": "[variables('useServicePrincipalDictionary')[variables('orchestratorType')]]",
    "servicePrincipalFields": [
      null,
      {
        "ClientId": "[parameters('servicePrincipalClientId')]",
        "Secret": "[parameters('servicePrincipalClientSecret')]"
      }
    ]
  },
  "resources": [
    {
      "apiVersion": "2016-09-30",
      "type": "Microsoft.ContainerService/containerServices",
      "location": "[resourceGroup().location]",
      "name":"[resourceGroup().name]",
      "properties": {
        "orchestratorProfile": {
          "orchestratorType": "[variables('orchestratorType')]"
        },
        "masterProfile": {
          "count": "[variables('masterCount')]",
          "dnsPrefix": "[variables('mastersEndpointDNSNamePrefix')]"
        },
        "agentPoolProfiles": [
          {
            "name": "agentpools",
            "count": "[variables('agentCount')]",
            "vmSize": "[variables('agentVMSize')]",
            "dnsPrefix": "[variables('agentsEndpointDNSNamePrefix')]"
          }
        ],
        "linuxProfile": {
          "adminUsername": "[variables('adminUsername')]",
          "ssh": {
            "publicKeys": [
              {
                "keyData": "[variables('sshRSAPublicKey')]"
              }
            ]
          }
        },
        "servicePrincipalProfile": "[variables('servicePrincipalFields')[variables('useServicePrincipal')]]"
      }
    }
  ],
  "outputs": {
    "masterFQDN": {
      "type": "string",
      "value": "[reference(concat('Microsoft.ContainerService/containerServices/', resourceGroup().name)).masterProfile.fqdn]"
    },
    "sshMaster0": {
      "type": "string",
      "value": "[concat('ssh ', variables('adminUsername'), '@', reference(concat('Microsoft.ContainerService/containerServices/', resourceGroup().name)).masterProfile.fqdn, ' -A -p 22')]"
    },
    "agentFQDN": {
      "type": "string",
      "value": "[reference(concat('Microsoft.ContainerService/containerServices/', resourceGroup().name)).agentPoolProfiles[0].fqdn]"
    }
  }
}

【问题讨论】:

  • Welp,我会重新创建它,不要认为在这种情况下你可以做任何事情
  • 您是否通过 azure 门户创建 ACS Kubernetes?在我的测试中,我可以通过 azure 门户将代理数增加到 2。
  • @JasonYe-MSFT 我用模板站起来了。用内容更新了问题。我自己没有使用 ACS Engine 或管理任何底层资源。它们由 ACS 生成和管理。
  • @AnthonyChu 现在可以用了吗?

标签: azure kubernetes azure-container-service


【解决方案1】:

这是旧集群的已知服务问题。目前正在推出一个修复程序,并在此 github 问题中进行跟踪,https://github.com/Azure/ACS/issues/16

Jack(ACS 团队的开发人员)

【讨论】:

  • 修复成功了,我现在可以扩展代理了。谢谢!
  • 很高兴我们能够解除对您的阻止。
【解决方案2】:

我在我的实验室中使用此模板进行了测试,但我无法重现您的错误。 请尝试使用azure resource explorer 编辑代理池计数:

【讨论】:

  • 谢谢。它仍然不起作用。我已经尝试过资源浏览器、门户和 CLI2.0。我可能不得不站起来另一个集群。 :(
猜你喜欢
  • 1970-01-01
  • 2018-10-12
  • 1970-01-01
  • 1970-01-01
  • 2018-05-26
  • 2022-12-03
  • 1970-01-01
  • 2021-08-23
  • 2021-09-22
相关资源
最近更新 更多