動機
アプリをホストするサーバはDigitalOceanにする。
仕事ではなんとなくAWSが多い気がするが、おじさんはメジャーなものはあんまり好きじゃないのである。
DigitalOceanは5年くらい無駄に五百円払い続けてたという実績を持っているのでベテランである。
k8sならどこで動いているかはあんまり関係ないのである。(コンピューティングサービス使うだけなら)
と思ったらk8sを使うには1000円💵かかる。ワンコイン🪙じゃないのか。
社内に作ったのと同じように500円サーバにk8sをbaremetalで構築すれば良いのではないかと閃いたが、500円では1cpuなので無理っぽい。
この機会にk3sを試してみた。
手順
-
アカウント作ってCreateボタンからDropletを選択
-
Choose an image
からUbuntu
を選択
-
Authentication
のNew SSHKey
ボタン押して接続用のkeyを入力
※済なら選ぶだけ
※他のCPUとかの設定は値段を気にしながら適当に選ぶ
-
作ったDropletを選択するとIPが確認できる(赤い塗りつぶしのとこ)のでSSH接続する
ssh root@<IP>
-
k3sをインストール
curl -sfL https://get.k3s.io | sh -
- configファイルのダウンロード
<IP>
の箇所を接続IPに書き換えて出力された内容をローカルの~/.kube/config
に配置
cat /etc/rancher/k3s/k3s.yaml | sed s/127.0.0.1/<IP>/
- 接続確認
ssh切断してローカルでkubectl
とかk9s
が使えるかどうか確認
kubectl get all -A
感想
kubectlの応答がめちゃ遅い。(2sくらいかかる)
rancherOSにしてDockerイメージを単体で起動する形にすべきだろうか。
でもDBイメージとか複数起動したりするのめんどい。k8s使いたい。
500円はやはり無謀なのだろうか。
k3sはエッジなハードウェアでk8sクラスタを起動する用途なので(多分)低スペックな環境でどこまでイケるかしばらく試してみよう。