LoginSignup
16
13

More than 3 years have passed since last update.

RaspberryPiに入れたk3sをRancherサーバーから見えるようにした

Last updated at Posted at 2019-03-16

Qiita初投稿です。
よろしくお願いします。

k3sをラズパイに入れてRancherでマルチクラスタ管理したらかなり強力だと思って、家のRaspberryPiで実験してみました。
色々ハマったので時系列に動くまでのメモ。

まず最初に何も考えずにやった(2月の終わり)

k3sのインストールは超簡単

$curl -sfL https://get.k3s.io | sh -
$k3s server
  • k3sは問題なく動いた
  • rancher-agentがarmでは動かない

うん。そらそうか。

dockerhubにarm版のrancher-agentがでた(3/14)

rancher-agentのimageを変更して試してみた

rancherの画面からクラスタのimportを選び、表示されたURLのYAMLを一旦保存

$curl --insecure -sfL https://35.200.55.75/v3/import/XXXXX.yaml  > rancher.yaml

imageを変更(2箇所)

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: cattle-cluster-agent
  namespace: cattle-system
      ...
      containers:
          ...
          - name: CATTLE_K8S_MANAGED
            value: "true"
          image: rancher/rancher-agent:v2.2.0-rc4-arm64
...
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
    name: cattle-node-agent
      ...
      containers:
      - name: agent
        image: rancher/rancher-agent:v2.2.0-rc4-arm64

前回とは違うエラーだけど、やっぱり動かない。
よくよく考えたら、rasbianは32bitだってことに気づく。。。

ラズパイのOSから書き換えてみる(3/15)

2020/3/21追記 rasbianOSを64bitにする。

まだ安定版ではないですが、k3sが動作することは確認できました。こっちの方が簡単です。

sudo rpi-update
sudo vi /boot/config.txt

arm_64bit=1

以前の手順

OSはOpenSUSEのLeap15.0を使用

https://en.opensuse.org/HCL:Raspberry_Pi3

(うちの環境だと、Tumbleweedはwifiモジュールを認識しなかった。ラズパイ用のUbuntuもwifiがうまく動かなかった。)

OS作成(macから)

注)ddで書き込む先はよく確認して行ってください。

$xzcat openSUSE-Leap15.0-ARM-JeOS-raspberrypi3.aarch64-2018.07.02-Buildlp150.1.1.raw.xz  | dd bs=4m of=/dev/rdisk2 ;sync

最初と同様にk3sを導入後、起動

$k3s server
...
INFO[2019-03-16T14:41:03.713645166Z] Waiting for containerd startup: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial unix /run/k3s/containerd/containerd.sock: connect: connection refused"

なんか、rasbianでは見なかったエラーが出た。。。

原因は調べられてないけど、opensuseの場合、serverとagentを別々に起動したらうまくいった
(resolv.confとかネットワーク周りだろうと勝手に想像)

$k3s server --disable-agent
$cat /var/lib/rancher/k3s/server/node-token
→表示されるtokenをメモ
$k3s agent -node-name raspberrypi3 --token <token> --server https://<ラズパイのIP>:6443

あとは、3/7と同じようにrancher-agentをインポート(3/15時点でrc6)

無事起動!

スクリーンショット 2019-03-16 21.32.31.png

podの状態

$kubectl get po -n cattle-system
B8-27-EB-98-2F-9B:~/kubernetes # kubectl get po -n cattle-system
NAME                                   READY   STATUS    RESTARTS   AGE
cattle-cluster-agent-686954759-z7xjn   1/1     Running   0          2m13s
cattle-node-agent-jzl8n                1/1     Running   0          2m9s

いろいろ組み合わせのマジックがあるみたいで、またバージョン上がると動かないとかいろいろありそうだけど、とりあえずやれそうな気はしてきた。

16
13
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
16
13