succi0303 blog

This is my personal blog. All posts are my own.

K3sでシングルノードのKubernetsクラスタを構築してみた

K3sを使ってシングルノードのKubernetesクラスタを構築してみました。

K3sは、ホームラボや開発環境、IoT、エッジでのユースケースを想定した軽量のKubernetesディストリビューションです。

今回の構築先のアーキテクチャオペレーティングシステムは、x86_64のUbuntu Server 24.04です。公式のインストール手順に従い、最初にファイアウォールを無効化します。

sudo ufw disable

インストールスクリプトを使ってK3sをインストールします。スクリプト実行時に様々なオプションを指定できますが今回は最小限のオプションで実行してみます。

curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644

--write-kubeconfig-mode 644はkubeconfgファイルのパーミッションを指定するオプションです。デフォルトの値は600ですが644に変更することでsudoなしでkubectlを実行できるようになります。

インストール結果を確認します。

k3s --version
k3s version v1.30.6+k3s1 (1829eaae)
go version go1.22.8

k3s check-config
...
- Storage Drivers:
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled (as module)

STATUS: pass

クラスタの作成状況を確認します。

kubectl get nodes
NAME        STATUS   ROLES                  AGE   VERSION
k3s-node1   Ready    control-plane,master   21d   v1.30.6+k3s1

kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

Kubenetsクラスタが動作していることを確認できました。最後に、K3sで作成した環境は以下のコマンドでアンインストールできます。

/usr/local/bin/k3s-uninstall.sh

とても簡単で良いですね。アンインストールまで簡単にできるところが良いなと思いました。

参考リンク