如何查询Azure AKS集群使用的Azure CNI版本(v1/v2)
查询Azure AKS集群的Azure CNI版本(区分v1和v2)
方法1:通过节点注解查看
- 执行命令
kubectl describe node <节点名称> | grep "azure.com/CNI-version"- 返回类似
azure.com/CNI-version: v1.2.15这类结果,就是传统Azure CNI v1 - 返回包含
v2的版本号(比如v2.0.0),就是Azure CNI v2
- 返回类似
- 要批量查看所有节点的版本,用这个命令:
kubectl get nodes -o jsonpath='{.items[*].metadata.annotations.azure\.com/CNI-version}'
方法2:查看CNI插件Pod的镜像版本
Azure CNI的插件Pod都在kube-system命名空间下:
- 传统Azure CNI v1的Pod名称一般以
azure-cni-networkmonitor或azure-ip-masq-agent开头,执行命令kubectl get pods -n kube-system -l k8s-app=azure-cni-networkmonitor -o jsonpath='{.items[*].spec.containers[*].image}',镜像会包含mcr.microsoft.com/azurecnimam或mcr.microsoft.com/azure-cni,版本号是v1.x.x格式 - Azure CNI v2的Pod名称以
azure-cni-node开头,执行命令kubectl get pods -n kube-system -l app=azure-cni-node -o jsonpath='{.items[*].spec.containers[*].image}',镜像包含mcr.microsoft.com/azure-cni-v2,版本号是v2.x.x格式
方法3:用Azure CLI查集群配置
执行命令 az aks show --resource-group <资源组名称> --name <集群名称> --query "networkProfile.networkPluginConfig.cniVersion"
- 返回
v1或具体v1版本号,就是传统Azure CNI v1 - 返回
v2或具体v2版本号,就是Azure CNI v2
内容的提问来源于stack exchange,提问作者GilliVilla
相关产品推荐
相关产品推荐

