略) IBM CloudでMicrok8s + k9s を使う話
IBM Cloud のマネージドKubernetes サービスには、フリークラスターと有料の標準クラスターがある。
フリークラスターは、30日間の期限で、2vCPU , 4GB のメモリのワーカーノード(仮想マシン)を使って、コンテナをデプロイし、アプリケーションを動かすことができる。
標準クラスターは、ゾーン別にワーカーノードの数を1つから指定できる。ゾーンの数は1~3つまで指定可能。
ゾーン2つで、ゾーンあたりのワーカーノード数を1とした場合の見積は、ワーカーノードのスペックを最安値の「2vCPU、メモリ4GB、Ubuntu 18」とした場合、IBM Cloud Kubernetes Service では、ゾーン2つ、ワーカーノード2つで、$160.62/月 になる。OSは、Ubuntu 18かUbuntu 16のどちらかのみ。
クラウドコンピューティングにおける「ゾーン」とは、物理的なサーバーラックやネットワーク、電源設備などがゾーン毎で分離されていることを意味し、複数のゾーンにリソース分散することで障害対策やディザスタリカバリ(DR)として有効です。アベイラビリティゾーンとも呼ばれています。
標準クラスターで、フリークラスターに近い構成にした場合、1ゾーン、1ワーカーノード、ワーカーノードは最安の「2vCPU、メモリ4GB、Ubuntu 18」で、$80.31/月。グッと手を出し易くなる。
1か月以上使うけどOSの好みがあるとか、会社の規程やお客様との契約で、自分達で運用管理しないといけないだとか、色々な事情がある場合。もちろんIBM Cloud以外のローカル環境でも動きます。パソコンやRaspberry Pi 4など。
簡単にセットアップできるKubernetesを選ぶ。
本番もいける
MicroK8s - Zero-ops Kubernetes for developers, edge and IoT | MicroK8s
k0s | Kubernetes distribution for bare-metal, on-prem, edge, IoT
開発やテスト向け
仮想マシンを選ぶ
IBM Cloud Virtual Server for VPC も Classic も、SSH接続さえできれば、あとは同じ手順です。
$ sudo snap install microk8s --classic
$ microk8s status --wait-ready
$ sudo usermod -a -G microk8s $USER
$ sudo chown -f -R $USER ~/.kube
$ exit
一度ログアウトして、SSHで再接続
$ microk8s status --wait-ready
次はアドオンの有効化とkubeconfigの保存
$ microk8s enable prometheus dns istio registry helm3 ingress storage
$ microk8s config > $HOME/.kube/config
kubectlのエイリアス設定 << microk8s kubectl と毎回打つのは面倒なので、kubectl で済むようにする。
$ sudo snap alias microk8s.kubectl kubectl
$ microk8s.helm3 repo add bitnami [<https://charts.bitnami.com/bitnami>](<https://charts.bitnami.com/bitnami>)