"Incorrect padding" 尝试使用 AKS 在 Azure 上创建托管 Kubernetes 集群时

"Incorrect padding" when trying to create managed Kubernetes cluster on Azure with AKS

我正在通过 instructions outlined here 尝试在 Azure 容器服务 (AKS) 上设置 Couchbase 集群。该教程使用 terminal/Mac,我使用 Powershell/Windows。

我什至在到达 Couchbase 部分之前就遇到了错误。我从命令行成功创建了一个资源组(我称之为 "cb_ask_spike",是的,它确实出现在门户网站上),但随后我尝试创建一个 AKS 集群:

az aks create --resource-group cb_aks_spike --name cbakscluster

我也试过:

az aks create --resource-group cb_aks_spike --name cbakscluster --generate-ssh-keys

在这两种情况下,我都会收到错误消息:

az aks create: error: Incorrect padding

我不知道这条错误消息是什么意思,而且我似乎无法在文档或任何地方找到对它的任何引用。我做错了什么?

我正在使用 azure-cli v2.0.31。

今天刚刚在 Powershell 中使用 az cli 验证了版本 2.0.31。您可能需要先 运行 az 组,然后创建 az aks 命令。截图供您参考。

我非常有信心解决了出现此错误的原因,并且我已经 updated issue 6142 on azure-cli。目前,我认为这是一个错误,尚未修复,但有一个解决方法。

首先需要注意的是 --generate-ssh 在 ~/.ssh

中生成了一个新的 ssh 密钥

我有一种预感,因为 ~ 对我来说 "C:\Users\Matthew Groves" 路径中的 space 导致了问题。果然,我创建了一个名为 "mgroves" 的新帐户。 ~ 现在是 "C:\Users\mgroves" 瞧,我再也没有收到 "incorrect padding" 错误消息了。

因此,解决方法是使用新帐户(非常痛苦)或 rename the folder(这就是我所做的,这也是一个巨大的痛苦,我仍然在这里发现一些小问题并且因为它,我的整个系统都有。

除了现在批准的答案之外,还有一个解决方案不需要您更改任何目录或帐户名,而且也很容易实施。

如其他答案中正确所述,如果路径中有 space,Azure CLI 无法处理生成的 SSH 密钥将存储的实际位置。 IE。 C:\Users\Admin Account\.ssh\.

当使用 az aks create 命令时,您可以使用 --generate-ssh-keys 让 Azure CLI 处理它,或者您可以使用 --ssh-key-value.[=18 指定一个已经存在的 SSH 密钥=]

我使用 Git BashC:\Users\Admin Account\.ssh\ 目录中生成了一个新的 SSH 密钥对:

ssh-keygen -f ~/.ssh/aks-ssh

现在创建 Azure AKS 集群,同时指向这个新的 SSH 密钥:

az aks create \
  --resource-group YourResourceGroup \
  --name YourClusterName \
  --node-count 3 \
  --kubernetes-version 1.16.8 \
  --ssh-key-value ~\.ssh\aks-ssh.pub

你很高兴去!