何も理解しないままkubernetesのコマンドを叩き込んでサーバーにアップロードしている中で、自分はkubernetesについてほぼ無知のことを今さら(使い始めて2か月後)気づきました。ググってみた今でも”結局何、、?”と迷ってはいますが、とりあえずわかった内容だけ記録として残そうとします。
- dockerは何だろう
要するに仮想化環境構築のためのもの。ローカル環境とサーバーの環境は会わないほうが多く、開発済みの結果物をまたサーバー環境に合わせて更新(=残業)が必要になります。
そこでdockerの登場。
dockerはローカルで使っていたライブラリ、設定ファイルなどなど今までローカル環境からの運用で使われていたものをcontainerに納めます。このcontainerを通じて環境を同一させて、追加作業なしでデポロイができるようになります。
また、一つのサーバーに必要に応じて幾つのcontainerを作って使い分けができるようになります。
- dockerを補完するkubernetes
しかし、dockerにも弱点は存在していて、それは複数のcontainerをコントロールが難しいこと。
いきなりアクセスが爆発することが起きて、それを迎えるcontainerの数が一つや二つ(極端の話で)しかないのであれば、サーバーは耐えられないと思います。また、その一つや二つしかないcontainerが死んでしまえば大変なことになりかねないでしょう。
そこらをkubernetesは対応します!
アクセスが多くなるほどkubernetesは対応のためcontainerを増やしてきます。逆の場合はcontainerの数を減らすことで柔軟に問題を解けてくれます。簡単に言うといつもサーバーを見張っていて上記のようにサーバーがいきなり止まるのなら再起動してくれます。
書いてからみればkubernetesがほぼ万能のように書いてしまいましたが、kubernetesにも弱点は存在すると思います。ただ今回は両方を全く知らなかった時点からメモ書きしているので、今後修行を重ねてもっと詳しい紹介を書けるようになろうと思います。