【问题标题】:Create azure container service cluster fails with error insufficient privileges for azure graph创建 azure 容器服务集群失败,错误为 azure graph 权限不足
【发布时间】:2017-10-30 15:13:56
【问题描述】:

使用 Azure CLI 2.0.20 版我突然无法再创建 ACS 集群了。

已创建资源组 testrg:

az group create -l westus -n testrg

az aks 和 acs 都失败了。使用的命令:

az aks create -n test-k8s-stg -g testrg
az acs create --orchestrator-type=kubernetes --resource-group testrg --name=test-nix-stg --admin-username test-admin --admin-password TestPassword --generate-ssh-keys

两者都因错误而失败:

Insufficient privileges to complete the operation.
Traceback (most recent call last):
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\main.py", line 36, in main
    cmd_result = APPLICATION.execute(args)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\core\application.py", line 212, in execute
    result = expanded_arg.func(params)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\core\commands\__init__.py", line 377, in __call__
    return self.handler(*args, **kwargs)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\core\commands\__init__.py", line 630, in _execute_command
    raise client_exception
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\core\commands\__init__.py", line 620, in _execute_command
    reraise(*sys.exc_info())
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\six.py", line 693, in reraise
    raise value
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\core\commands\__init__.py", line 602, in _execute_command
    result = op(client, **kwargs) if client else op(**kwargs)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\command_modules\acs\custom.py", line 516, in acs_create
    dns_name_prefix, location, name)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\command_modules\acs\custom.py", line 1372, in _ensure_service_principal
    service_principal = _build_service_principal(client, name, url, client_secret)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\command_modules\acs\custom.py", line 319, in _build_service_principal
    result = create_application(client.applications, name, url, [url], password=client_secret)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\cli\command_modules\acs\custom.py", line 970, in create_application    return client.create(app_create_param)
  File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\site-packages\azure\graphrbac\operations\applications_operations.py", line 87, in create
    raise models.GraphErrorException(self._deserialize, response)
azure.graphrbac.models.graph_error.GraphErrorException: Insufficient privileges to complete the operation.

我可以使用 CLI 创建其他资源,例如带有命令的 Web 应用程序:

az appservice plan create -g testrg-n B1Plan --is-linux
az webapp create --resource-group testrg --name testwebapp -p B1Plan -r "node|8.1"

【问题讨论】:

  • 如果--service-principal--client-secret 不存在,az acs createaz aks create 将为您创建服务主体。您收到的错误消息来自创建该服务主体。我相信这意味着您的 AAD 帐户没有权限这样做。
  • 是的!这确实是原因。通过添加这两个参数,集群的创建成功。谢谢!

标签: azure azure-container-service


【解决方案1】:

正如 Weinon Wang 指出的那样,我必须向现有服务主体的 AppId 提供其客户端密码,因为我无权为集群创建新的服务主体。

创建新集群并配置 kubectl 连接到它的命令是:

az aks create -n test-k8s-stg -g testrg
az acs create --orchestrator-type=kubernetes --resource-group testrg --name=test-nix-stg --admin-username test-admin --admin-password TestPassword --generate-ssh-keys --service-principal "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" --client-secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="
az acs kubernetes get-credentials --resource-group=testrg --name=test-nix-stg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多