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

投稿者: ytyng 3 年, 4 ヶ月 前

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

k3s は docker モードでインストールします。

1. Docker のインストール

docker のサイト を見ると、raspbian は convenience script を使うのがおすすめということなので、それで。

https://docs.docker.com/engine/install/debian/

curl -fsSL https://get.docker.com -o /tmp/get-docker.sh
sudo sh /tmp/get-docker.sh



これでインストールできます。

これを読み飛ばして、rancher 社のスクリプトを使ったり手動で gpgキーを入れて... とやると、途中で CPUって armhf だっけ? arm64だっけ? とか、バージョンは buster? strech? ?? ubuntu版を入れるの?? となって遠回りしてしまうので、上記のスクリプトをおすすすめします。

ちなみに、docker をインストールする前に k3s をインストールしていたら、dockerのインストールでちょっと躓いたので、その場合は

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

でk3s をアンインストールしてから、システムを再起動後に docker インストールをすると良いと思います。

2. k3s のインストール

curl -sfL https://get.k3s.io | sh -s - --docker

これでインストール。 --docker を指定して、コンテナバックエンドを docker にします。

ただし、私の場合、インストール後にサービスが起動できずにエラーになりました。

[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
Job for k3s.service failed because the control process exited with error code.
See "systemctl status k3s.service" and "journalctl -xe" for details.
journalctl -xe

を見てみると

level=fatal msg="failed to find memory cgroup, you may need to add \"cgroup_memory=1 cgroup_enable=memory\" to your linux

と書かれているので、その通りに、/boot/cmdline.txtcgroup_memory=1 cgroup_enable=memory を追加

console=serial0,115200 console=tty1 root=PARTUUID=97709164-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwai

console=serial0,115200 console=tty1 root=PARTUUID=97709164-02 rootfstype=ext4 elevator=deadline fsck.repair=yes cgroup_memory=1 cgroup_enable=memory rootwait


こうして、システムを再起動させることで k3s も動作しました。

3. kubeconfig の取得

/etc/rancher/k3s/k3s.yaml に config ができているので、

sudo cat /etc/rancher/k3s/k3s.yaml

で表示させ、mac に .kube/config-raspi みたいな名前でコピーします。

その時、config 内の server: https://127.0.0.1:6443 の箇所は、外から見たラズパイのホスト名に変更します。

server: https://myraspi.local:6443

そして、mac で

KUBECONFIG=${HOME}/.kube/config-raspi kubectl get all

とかやってみて、応答が返ってくればOKです。

現在未評価

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011