2019/04/29

k3sを使ってオンプレミスなKubernetesクラスタを構築したよ!

概要

GKE が大好きで非常に満足していたのですが、以下のような願望もありました。
  • Kubernetes勉強しながら好き勝手出来るスクラッチ用のクラスター環境が欲しい
  • Raspberry Piなどエッジで動かすコンテナを、Kubernetesクラスターでコントロールしたい
そこで、オンプレミスなKubernetesクラスターを構築することにしました。

k3s is 何?

「エッジでも動く!」という噂を聞いて、k3sを使うことに決めました。
  • 超軽量なKubernetes。
    • バイナリが40 MB以下
      • 小さいことはいいことだ。
    • RAMが512 MBあれば動く
      • ラズパイとかのエッジでも動くよ。凄い!
クラスタの動作イメージは、以下の通りです。(公式からの引用です。)
引用元: k3s.io

この記事でやること

上図のkemo-clusterのようなKubernetesクラスターを作ります。
  • ホストkemo-masterで、k3sをServerとして起動
  • ホストkemo-node01kemo-node02で、k3sをAgentとして起動
  • クラスター外のホストkemo-clientからクラスターに対して操作を実行する。
    • 入門 Kubernetesのサンプルアプリケーションkuardを使ってReplicaSetを作成
    • LoadBalancerタイプのServiceを起動してブラウザからアクセス

使用環境

  • Ubuntu Server: 18.04.2 LTS
  • k3s: v0.4.0