---
slug: "raspberry-pi-raspbian-install-k3s-kubernetes"
title: "Raspberry pi (raspbian) に k3s Kubernetes をインストールする"
description: "Raspberry Pi (Raspbian) に軽量 Kubernetes ディストリビューションの k3s をインストールしてシングルノードクラスタを立ち上げる手順。"
url: "https://www.ytyng.com/blog/raspberry-pi-raspbian-install-k3s-kubernetes"
publish_date: "2020-11-23T07:58:10Z"
created: "2020-11-23T07:58:10Z"
updated: "2026-05-11T13:18:13.030Z"
categories: ["Raspberry-Pi", "kubernetes"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/bf78d3e171154ca99b379c03daa180e8.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# Raspberry pi (raspbian) に k3s Kubernetes をインストールする

<p>Raspberry pi (raspbian) に k3s Kubernetes をインストールする<br /><br />k3s は docker モードでインストールします。</p>
<h1>1. Docker のインストール</h1>
<p><a href="https://docs.docker.com/engine/install/debian/" target="_blank">docker のサイト</a> を見ると、raspbian は <a href="https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script" target="_blank">convenience script</a> を使うのがおすすめということなので、それで。<br /><br /><a href="https://docs.docker.com/engine/install/debian/" target="_blank">https://docs.docker.com/engine/install/debian/</a><br /><br /></p>
<pre>curl -fsSL https://get.docker.com -o /tmp/get-docker.sh<br />sudo sh /tmp/get-docker.sh</pre>
<p><br /><br />これでインストールできます。</p>
<p>これを読み飛ばして、rancher 社のスクリプトを使ったり手動で gpgキーを入れて... とやると、途中で CPUって armhf だっけ? arm64だっけ? とか、バージョンは buster? strech? ?? ubuntu版を入れるの?? となって遠回りしてしまうので、上記のスクリプトをおすすすめします。</p>
<p>ちなみに、docker をインストールする前に k3s をインストールしていたら、dockerのインストールでちょっと躓いたので、その場合は</p>
<pre>/usr/local/bin/k3s-uninstall.sh</pre>
<p>でk3s をアンインストールしてから、システムを再起動後に docker インストールをすると良いと思います。<br /><br /></p>
<h1>2. k3s のインストール</h1>
<pre>curl -sfL https://get.k3s.io | sh -s - --docker</pre>
<p>これでインストール。 <code>--docker</code> を指定して、コンテナバックエンドを docker にします。<br /><br />ただし、私の場合、インストール後にサービスが起動できずにエラーになりました。</p>
<pre>[INFO]&nbsp; systemd: Creating service file /etc/systemd/system/k3s.service<br />[INFO]&nbsp; systemd: Enabling k3s unit<br />Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service &rarr; /etc/systemd/system/k3s.service.<br />[INFO]&nbsp; systemd: Starting k3s<br />Job for k3s.service failed because the control process exited with error code.<br />See "systemctl status k3s.service" and "journalctl -xe" for details.</pre>
<pre>journalctl -xe</pre>
<p>を見てみると</p>
<pre>level=fatal msg="failed to find memory cgroup, you may need to add \"cgroup_memory=1 cgroup_enable=memory\" to your linux</pre>
<p>と書かれているので、その通りに、<code>/boot/cmdline.txt</code> に <code>cgroup_memory=1 cgroup_enable=memory</code> を追加</p>
<pre>console=serial0,115200 console=tty1 root=PARTUUID=97709164-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwai</pre>
<p>&darr;</p>
<pre>console=serial0,115200 console=tty1 root=PARTUUID=97709164-02 rootfstype=ext4 elevator=deadline fsck.repair=yes cgroup_memory=1 cgroup_enable=memory rootwait</pre>
<p><br />こうして、システムを再起動させることで k3s も動作しました。<br /><br /></p>
<h1>3. kubeconfig の取得</h1>
<p><code>/etc/rancher/k3s/k3s.yaml</code> に config ができているので、</p>
<pre>sudo cat /etc/rancher/k3s/k3s.yaml</pre>
<p>で表示させ、mac に <code>.kube/config-raspi</code> みたいな名前でコピーします。</p>
<p>その時、config 内の <code>server: <a href="https://127.0.0.1:6443">https://127.0.0.1:6443</a></code> の箇所は、外から見たラズパイのホスト名に変更します。</p>
<pre>server: <a href="https://127.0.0.1:6443"></a><a href="https://myraspi.local:6443">https://myraspi.local:6443</a></pre>
<p>そして、mac で</p>
<pre>KUBECONFIG=${HOME}/.kube/config-raspi kubectl get all</pre>
<p>とかやってみて、応答が返ってくればOKです。</p>
<p></p>
<p></p>
<p></p>
<p></p>
