繁体   English   中英

更新至k8s v1.11后,出现错误:“无法运行Kubelet:无法初始化云提供程序“ azure”:未为AAD应用程序提供凭据”

[英]Getting error: “failed to run Kubelet: could not init cloud provider ”azure“: No credentials provided for AAD application” after updating to k8s v1.11

我正在使用在Azure VMSS上运行的k8s群集,并且刚刚在群集部署上测试了升级到k8s v1.11的过程。 但是,突然之间我的Azure JSON配置文件(对于v1.10.4而言运行良好)似乎没有被Kubelet检测到。 Kubelet无法继续执行并出现错误:

failed to run Kubelet: could not init cloud provider "azure": No credentials provided for AAD application

azure.json和以前一样位于/etc/kubernetes/ ,看起来像这样:

{
  "vmType": "vmss",
  "tenantId": "<tenant_id>",
  "aadTenantId": "<aad_tenant_id>",
  "aadClientId": "<aad_client_id>",
  "aadClientSecret": "<aad_client_secret>",
  "subscriptionId": "<subscription_id>",
  "resourceGroup": "kubitest1",
  "primaryScaleSetName":"kubitest1-node",
  "vnetName": "kubitest1",
  "vnetResourceGroup": "kubitest1",
  "subnetName": "kubitest1-master",
  "securityGroupName": "kubitest1",
  "location": "northeurope"
}

我在v1.11的发行说明中注意到,它们指定了以下内容:

包含大小写不正确的字段的JSON配置文件将不再有效。 升级之前,您必须更正这些文件。 在直接API服务器通信期间在JSON资源定义中指定键时,键区分大小写。 Kubernetes 1.8中引入的错误导致API服务器接受大小写不正确的请求,并强制其纠正大小写,但是此行为已在1.11中修复,API服务器将再次执行正确的大小写。 值得注意的是,在此期间,kubectl工具继续执行区分大小写的键,因此使用kubectl严格管理资源的用户将不受此更改的影响。 (#65034,@caesarxuchao)

但是,据我所知,azure.json不包含大小写不正确的字段。

升级到k8s 1.11后,还有其他人遇到此错误吗?

似乎aadTenantId选项中断了配置文件(azure.json)的解析。

我在config的可用选项中没有找到这样的选项:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM