はじめに
前々から気になっていたK3sを、Windows 10がインストールされている自宅のPCで動かしてみました。
参考にしたサイト
- WSL2へのアップデート
-
https://qiita.com/kekenonono/items/14b725ce3d00cd5281ec
-
wsl --update
がなかなか完了しなかったため、上記の記事にある手順 (wsl_update_x64.msi
の実行) でアップデートを行いました。
-
-
https://qiita.com/kekenonono/items/14b725ce3d00cd5281ec
- K3sのインストール
構成図
+-------------------+
| +---------------+ |
| | +-----------+ | |
| | | +-----+ | | |
| | | | K3s | | | |
| | | +-----+ | | |
| | | Debian 12 | | |
| | +-----------+ | |
| | WSL2 | |
| +---------------+ |
| Windows 10 |
+-------------------+
各ソフトウェアのバージョン
Windows 10
C:\> systeminfo
OS 名: Microsoft Windows 10 Home
OS バージョン: 10.0.19045 N/A ビルド 19045
(snip)
プロセッサ: 1 プロセッサインストール済みです。
[01]: Intel64 Family 6 Model 78 Stepping 3 GenuineIntel ~2400 Mhz
(snip)
物理メモリの合計: 8,106 MB
(snip)
WSL2
C:\>wsl --version
WSL バージョン: 2.1.5.0
カーネル バージョン: 5.15.146.1-2
WSLg バージョン: 1.0.60
MSRDC バージョン: 1.2.5105
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.19045.4291
Debian 12
$ cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
K3s
$ sudo k3s --version
k3s version v1.30.0+k3s1 (14549535)
go version go1.22.2
kubectl
$ sudo k3s kubectl version
Client Version: v1.30.0+k3s1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.0+k3s1
WSL2へのアップデート
- 元々、WSLを入れたままほったらかしにしていました。本記事を書くにあたり、以下の記事を参考に、WSL2へのアップデートを行いました。
- Debianをインストールしてください。
wsl --install -d Debian
- 以下の記事を参考に、
wsl_update_x64.msi
を実行してください。 - 既定のバージョンをWSL2に変更してください。
wsl --set-default-version 2
- DebianがWSL2で動作するようにしてください。
wsl --set-version Debian 2
PS C:\> wsl -l -v NAME STATE VERSION * Debian Stopped 2
K3sのインストール
- Debianを起動してください。
wsl
- 初回起動時に、ユーザ名 (e.g., user) とパスワードの設定を行ってください。
- wgetをインストールしてください。
sudo apt install -y wget
- ホームディレクトリに移動してください。
cd
- install-k3s.shファイルを作成し、実行権限を付与してください。
touch install-k3s.sh
chmod +x install-k3s.sh
- viコマンドなどで、install-k3s.shを以下のように編集してください。
K3S_VERSION="v1.30.0+k3s1" archSuffix="" if test "$(uname -m)" = "aarch64" then archSuffix="-arm64" fi wget -q "https://github.com/k3s-io/k3s/releases/download/${K3S_VERSION}/k3s${archSuffix}" -O ./k3s chmod u+x k3s
-
K3S_VERSION
に指定するK3sのバージョンは、以下で確認してください。
-
- install-k3s.shを実行してください。
./install-k3s.sh
- k3sファイルを、/usr/local/sbinにコピーにしてください。
sudo cp k3s /usr/local/sbin
- K3sを起動してください。
sudo k3s server
- 別のターミナルを起動し、K3sが起動していることを確認してください。
$ sudo k3s kubectl get node NAME STATUS ROLES AGE VERSION desktop-1be4jse Ready control-plane,master 12h v1.30.0+k3s1
さいごに
WSL2でDebian 12を動かし、K3sをインストールしてみました。本記事ではK3sの起動まで行いました。Podの作成などは、別の記事にまとめました。
補足
- K3s起動後、以下のPodが展開されていました。
$ sudo k3s kubectl get pod --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system local-path-provisioner-75bb9ff978-stwcn 1/1 Running 0 45m kube-system coredns-576bfc4dc7-whfzg 1/1 Running 0 45m kube-system metrics-server-557ff575fb-pxv7d 1/1 Running 0 45m kube-system helm-install-traefik-crd-65xs9 0/1 Completed 0 45m kube-system helm-install-traefik-w47qd 0/1 Completed 2 45m kube-system svclb-traefik-78416e1b-9ccjx 2/2 Running 0 43m kube-system traefik-5fb479b77-frm65 1/1 Running 0 43m
- metrics-serverが起動しているので、
kubectl top
が使えます。$ sudo k3s kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% desktop-1be4jse 406m 10% 1422Mi 36%