Docker-桌面上下文 select 未更新 kubectl 活动上下文
Docker-Desktop context select not updating the kubectl active context
我正在 运行宁 Docker 桌面 Windows 与 WSL2 集成。我也是 运行ning minikube。 Docker 桌面 GUI 正确显示了两个已知上下文:
我选择了 'minikube' 上下文,因为这是我想要使用的上下文。
然而,当我进入 WSL 终端和 运行 kubectl config get-contexts
时,我只能看到 docker-桌面上下文,这是活动的:
admin@RODDY01-PC:/mnt/c/workspace$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* docker-desktop docker-desktop docker-desktop
运行 which kubectl
显示我正在使用 docker-desktop 在进行 WSL 集成时安装的 kubectl:
admin@RODDY01-PC:/mnt/c/workspace$ which kubectl
/usr/local/bin/kubectl
admin@RODDY01-PC:/mnt/c/workspace$ ls -la /usr/local/bin/kubectl
lrwxrwxrwx 1 root root 55 Aug 1 17:49 /usr/local/bin/kubectl -> /mnt/wsl/docker-desktop/cli-tools/usr/local/bin/kubectl
(在 Windows 中,kubectl 在 C:\Program Files\Docker\Docker\resources\bin\kubectl.exe
中被捆绑为 docker 的一部分,它正确地显示了两个上下文并指示 minikube 是活动的;它只是 Linux/WSL2 不是 updating/recognizing 活动和可用上下文的 kubectl 实例。)
如何让 Docker 桌面正确更新 WSL2 中的 kubectl 活动上下文?
版本信息:Docker桌面版 3.5.2; Windows 10名专业人士; WSL2 上的 Debian 10。
问题原来是我实际上有两个个kube配置文件。
Windows,已由 GUI 正确更新,其配置位于:C:\Users\<username\.kube\config
.
WSL 在 ~/.kube/config
也有一个。这个不是最新的,实际上缺少整个 minikube 上下文定义。
我通过在我的 ~/.bashrc
文件中设置一个环境变量来将 $KUBECONFIG
指向 Windows kube 配置文件来解决这个问题。我的一位同事遇到了类似的问题,而是删除了 linux 文件并创建了指向 Windows 文件的符号链接;两种解决方案都有效。
切线相关:minikube 配置包括在配置文件中使用 Windows 样式路径的证书;有必要将这些证书嵌入到配置文件中,以便它们能够跨 OS.
正常工作
我正在 运行宁 Docker 桌面 Windows 与 WSL2 集成。我也是 运行ning minikube。 Docker 桌面 GUI 正确显示了两个已知上下文:
我选择了 'minikube' 上下文,因为这是我想要使用的上下文。
然而,当我进入 WSL 终端和 运行 kubectl config get-contexts
时,我只能看到 docker-桌面上下文,这是活动的:
admin@RODDY01-PC:/mnt/c/workspace$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* docker-desktop docker-desktop docker-desktop
运行 which kubectl
显示我正在使用 docker-desktop 在进行 WSL 集成时安装的 kubectl:
admin@RODDY01-PC:/mnt/c/workspace$ which kubectl
/usr/local/bin/kubectl
admin@RODDY01-PC:/mnt/c/workspace$ ls -la /usr/local/bin/kubectl
lrwxrwxrwx 1 root root 55 Aug 1 17:49 /usr/local/bin/kubectl -> /mnt/wsl/docker-desktop/cli-tools/usr/local/bin/kubectl
(在 Windows 中,kubectl 在 C:\Program Files\Docker\Docker\resources\bin\kubectl.exe
中被捆绑为 docker 的一部分,它正确地显示了两个上下文并指示 minikube 是活动的;它只是 Linux/WSL2 不是 updating/recognizing 活动和可用上下文的 kubectl 实例。)
如何让 Docker 桌面正确更新 WSL2 中的 kubectl 活动上下文?
版本信息:Docker桌面版 3.5.2; Windows 10名专业人士; WSL2 上的 Debian 10。
问题原来是我实际上有两个个kube配置文件。
Windows,已由 GUI 正确更新,其配置位于:C:\Users\<username\.kube\config
.
WSL 在 ~/.kube/config
也有一个。这个不是最新的,实际上缺少整个 minikube 上下文定义。
我通过在我的 ~/.bashrc
文件中设置一个环境变量来将 $KUBECONFIG
指向 Windows kube 配置文件来解决这个问题。我的一位同事遇到了类似的问题,而是删除了 linux 文件并创建了指向 Windows 文件的符号链接;两种解决方案都有效。
切线相关:minikube 配置包括在配置文件中使用 Windows 样式路径的证书;有必要将这些证书嵌入到配置文件中,以便它们能够跨 OS.
正常工作