🍣

Kubernetesの基礎1(簡単な説明)

2024/11/06に公開

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