k3s という軽量 Kubernetes があります。 これを Oracle Cloud 上にある、 Tailscale で接続している Compute Instance に構築しようとしていて、ハマってしまったので備忘録。
前提:
- Tailscale
- k3s
ドキュメント通りに行くなら、マスターノードとなるインスタンスに k3s をインストールします:
$ curl -sfL https://get.k3s.io | sh -
次に、エージェントとなるインスタンスに k3s をインストールします:
$ curl -sfL https://get.k3s.io | K3S_URL="https://<tailscale-hostname>:6443" K3S_TOKEN=xxx sh -
......としても、
[INFO] systemd: Starting k3s-agent
となったまま、エージェントがマスターに繋がる気配が無い。なぜだろう、というのが今回の記事。
実は、 Tailscale を使っている場合はオプションを使う必要があるのでした。ということでそのやり方。
まずはマスターノードから:
$ curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --flannel-iface tailscale0 --advertise-address <tailscale-master-node-ip> --node-ip <tailscale-master-node-ip> --node-external-ip <tailscale-master-node-ip>" sh -s
そして、エージェント側:
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="agent --server https://<tailscale-master-node-hostname>:6443 --token <token>--flannel-iface tailscale0 --node-ip <tailscale-agent-node-ip> --node-external-ip <tailscale-agent-node-ip>" sh -s
これで、コマンドが正常に終了する。そしてマスターノードの様子を見に行くと:
$ sudo k3s kubectl get nodes NAME STATUS ROLES AGE VERSION noa Ready <none> 3m3s v1.28.8+k3s1 toki Ready control-plane,master 13m v1.28.8+k3s1 momoi Ready <none> 12m v1.28.8+k3s1
いっぱいいますね。ということで、メモでした。
参考: