事象
DockerDesktopのアップデート時に以下メッセージが出る。
WSL 2 installation is incomplete The WSL 2 Linux kernel is now installed using a separate MSI update package. Please click the link and follow the instructions to install the kernel update
環境情報
- Docker Desktop 2.4(DE 19.03, K8s 1.18)
- Windows 10
原因と対応策
Linux カーネル更新パッケージのインストールが必要。
下記から更新用のMSIデータを取得し、展開する。
インストール後はDockerDesktopがWSL上で動いていることが下記で確認可能。
$ wsl -l -v NAME STATE VERSION * docker-desktop Running 2 docker-desktop-data Running 2 $ wsl LAPTOP-XX:~# uname -a Linux LAPTOP-XX 4.19.128-microsoft-standard #1 SMP XX x86_64 Linux
補足
Windows Subsystem for Linux、略してWSLですが同ツールのおかげでGNU/Linux環境をWindows上で直接実行できます。
DockerDesktopは旧バージョンは以下記事であるように
Hyper-V上で起動していますが、新バージョンではWSL上で動きます。
今回とあるyamlを起動した際に以下エラーが出たため同ツールのアップデートを行いました。
unable to recognize ...: no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1"
解決策に記載のある更新イメージを起動すると、Dockerはすぐに正常起動しましたが、Kubernetesは起動に時間がかかりました。
注意点として、Kubernetesのクラスター接続用の情報が新しくなっているのでCygwin等を利用している方でホームディレクトリ直下のconfigを指定していない場合は認証でエラーとなります。
$ kubectl get node Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
サーバ情報のURLに変化はありませんが鍵情報は変化しているのでご注意ください。a
鍵情報をコピペすれば問題なくアップデートされていました。
$ kubectl get node NAME STATUS ROLES AGE VERSION docker-desktop Ready master xm v1.18.8
以上、ご参考になれば幸いです。