🍣
Kubernetesの基礎1(簡単な説明)
Kubernetes(クーバネティス)は、アプリケーションを動かす「コンテナ」という小さなパッケージを効率的に管理するためのオープンソースのプラットフォーム
目次
1.目的
2.主な機能
3.マスターノードとワーカーノードについて
4.その他知識
1.Kubernetesの目的
➀多くのコンテナを自動で管理・配置してくれるツール
→つまり、どのサーバーでどのコンテナを動かすかを自動で決め、効率的にリソースを使えるようにしてくれる
➁アプリが増えても自動でスケールアップ(追加)やスケールダウン(削減)してくれたり、万が一どこかで障害が発生しても、影響を最小限に抑えながら別のサーバーに移してくれたり
➂従来のシステム管理では、サーバーの台数が増えると手作業で管理するのが非常に大変。Kubernetesを使えば、自動でサーバーの数やアプリのバージョン管理、障害対応を行ってくれるので、運用が楽に!!
2.Kubernetesの主な機能
➀自動スケーリング:ユーザーが増えたら自動でサーバーを追加し、少なくなれば削減してリソースを節約します。
➁自己修復:問題があるポッドやノードがあれば、自動で再起動したり、正常なものに置き換えたりします。
➂ロールアウトとロールバック:アプリケーションの新しいバージョンを簡単にリリース(ロールアウト)したり、不具合があれば元のバージョンに戻す(ロールバック)機能もあります。
3.マスターノードとワーカーノードについて
Kubernetesはマスターノードというコントロールを司るノードと、ワーカーノードという実際に動かすノードで構成されている。
ノード→アプリが動くサーバーのこと
マスターノードはワーカーノード上のコンテナを管理する(ここではコンテナは動いていない)
ワーカーノードは実際のサーバに当たる部分。(ここでコンテナは動いている)
マスターとワーカーで構成されたKubernetesシステムの一群をクラスターという
→クラスターは、マスターノードに設定された内容に従ってマスターノードが自律的にワーカーノードを管理する
KubernetesはDocker Engineとは別のソフトウェア。KubernetesとCNI(仮想ネットワークのドライバ→flannel,Calico,AWS VPC CNI)また、マスターノードはコンテナ状態管理のためのetcdというデータベースを入れる。ワーカーノードにはもちろん、Docker Engineが必要
管理者のPCにはマスターノードの設定を行うのにkubectlを入れることで、初期設定や調整ができる。
Discussion