即使当前上下文设置为远程集群,Kubectl 也会以本地集群为目标

Kubectl targets local cluster even when the current context is set to remote cluster

我为 Windows 安装了本地 kubernetes 集群作为 Docker 的一部分。所以当我 运行

kubectl get pods
NAME                                 READY   STATUS    RESTARTS   AGE
mytestapplication-64b546767f-hsd5s   1/1     Running   0          6d10h

现在我运行宁以下

az aks get-credentials --resource-group appxxx-dfaks-rg --name appxxx-dfaks
Merged "appxxx-dfaks" as current context in C:\Users\aus77_000\.kube\config

检查上下文信息

kubectl config get-contexts
CURRENT   NAME                 CLUSTER          AUTHINFO                                   NAMESPACE
          appxxx-dfaks         appxxx-dfaks     clusterUser_appxxx-dfaks-rg_appxxx-dfaks
*         docker-desktop       docker-desktop   docker-desktop

将上下文切换到 appxxx-dfaks

kubectl config use-context appxxx-dfaks
Switched to context "appxxx-dfaks".

现在当前上下文是appxxx-dfaks

问题是 kubectl 一直以我的本地集群为目标

kubectl get pods
NAME                                 READY   STATUS    RESTARTS   AGE
mytestapplication-64b546767f-hsd5s   1/1     Running   0          6d10h

我做错了什么?

可能是因为上下文 appxxx-dfaks 正在使用本地集群 cluster。您可以验证哪个上下文正在使用哪个集群正在使用

kubectl config view --minify

还有运行kubectl get nodeskubectl cluster-info来验证kubectl实际使用的集群是什么。

查看官方文档here了解更多详情。