LoginSignup
0
0

Debian 12 on WSL2にK3sをインストールしてみた

Last updated at Posted at 2024-05-11

はじめに

前々から気になっていたK3sを、Windows 10がインストールされている自宅のPCで動かしてみました。

参考にしたサイト

構成図

+-------------------+
| +---------------+ |
| | +-----------+ | |
| | | +-----+   | | |
| | | | 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へのアップデート

  1. Debianをインストールしてください。
    wsl --install -d Debian
    
  2. 以下の記事を参考に、wsl_update_x64.msiを実行してください。
  3. 既定のバージョンをWSL2に変更してください。
    wsl --set-default-version 2
    
  4. DebianがWSL2で動作するようにしてください。
    wsl --set-version Debian 2
    
    PS C:\> wsl -l -v
      NAME      STATE           VERSION
    * Debian    Stopped         2
    

K3sのインストール

  1. Debianを起動してください。
    wsl
    
    • 初回起動時に、ユーザ名 (e.g., user) とパスワードの設定を行ってください。
  2. wgetをインストールしてください。
    sudo apt install -y wget
    
  3. ホームディレクトリに移動してください。
    cd 
    
  4. install-k3s.shファイルを作成し、実行権限を付与してください。
    touch install-k3s.sh
    
    chmod +x install-k3s.sh
    
  5. 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
    
  6. install-k3s.shを実行してください。
    ./install-k3s.sh
    
  7. k3sファイルを、/usr/local/sbinにコピーにしてください。
    sudo cp k3s /usr/local/sbin
    
  8. K3sを起動してください。
    sudo k3s server
    
  9. 別のターミナルを起動し、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%
    
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0