将Docker Desktop for WSL2中的Kubernetes上下文与WSL2进行同步

这是用于将Windows系统托盘上Docker Desktop for WSL2菜单中的Kubernetes上下文与WSL2中的~/.kube/config同步的步骤。通过进行同步,您将能够实现以下功能。

    • WindowsのシステムトレイにあるDocker DesktopメニューからKubernetesコンテキストの参照および切り替えができる。切り替えた場合はWSL2側にKubernetesコンテキストが反映される。

 

    WSL2側から~/.kube/configを更新した場合に、Docker DesktopメニューのKubernetesコンテキストに反映される。

注意:
对于为什么没有包含这个同步设置,我个人感到很疑惑。也许在某个时间点,Docker Desktop for WSL2会支持这个同步设置,如果那时您可以在评论中告诉我,我会非常感激。

设置步骤

假设已经安装并可使用WSL2和适用于WSL2的Docker桌面版。

    1. 在Windows系统上的Docker Desktop中创建%USERPROFILE%\.kube\config文件。如果已经存在,则跳过。

在WSL2系统上创建一个符号链接,指向Windows系统上的~/.kube/config文件。您可以通过在WSL2终端中执行以下命令来创建该符号链接。如果WSL2中已经存在~/.kube/config文件,则请备份或删除。

# 如果系统驱动器是C驱动器,并且Windows用户名是taro
# 注意:请将c和taro部分替换为相应的值
mkdir -p ~/.kube
ln -s /mnt/c/Users/taro/.kube/config $HOME/.kube/config

这样设置就完成了。
顺便提一下,这个设置步骤中的./kube/config文件将变成主文件。

以下のようにWSL2側のKubernetesコンテキストとWindows側のDocker DesktopメニューのKubernetesコンテキストが同期していることが分かります。

k8s-context-menu-01.png

以下はkindのKubernetesクラスタをWSL2上から作成した直後の画像です。kindのKubernetesクラスタが作成されるとWSL2側の~/.kube/configのKubernetesコンテキストが追加&更新されますが、これがWindows側のDocker DesktopメニューのKubernetesコンテキストと同期していることが分かります。

k8s-context-menu-02.png

顺便说一下,WSL2终端的shell提示符使用了“表情符号+彩色文字”来显示Kubernetes的上下文,这是通过使用kube-ps1.sh实现的。对于在Kubernetes上进行开发和验证的人来说,这是一个推荐的选项。

广告
将在 10 秒后关闭
bannerAds