K8s 5分講座#08 各コンポーネントの配置、kubectl

Monta

今日は、前回取り上げたコンポーネントがどこに配置されるのか?を学ぶ。

はかせ
はかせ

物理的にはマスタノードと、ワーカーノードがありましたよね。各コンポーネントがどっちに置かれるのか?ということでしょうか。

もんた
もんた

そうだ。K8s 5分講座#06 ノードとクラスタの回では、ノードごとに役割を説明した。今回はその役割を果たすコンポーネントがそれぞれどちらにあるか?を理解してほしい。

はかせ
はかせ
1

ワーカーノードにあるコンポーネント

先に結論を言おう。全6種のコンポーネントの内、ワーカーノードにあるのはコンテナランタイムと、Kubeletキューブレットだ。

はかせ
はかせ

コンテナランタイムは、コンテナを実行するソフトウェアなので、実際にアプリが動くワーカーノードに存在する必要がありますね。

もんた
もんた

Kubeletは、エージェントとしてワーカーノードに常駐しながら状態情報をマスタへ提供、マスタノードからワーカーノードに要求されたアクションの実行など、マスタと対話する役割を担う。

はかせ
はかせ
2

マスタノードにあるコンポーネント

残り4つは、APIサーバ、etcdキーストア、コントローラ、スケジューラですね。

もんた
もんた

APIサーバは、中央インターフェースとも言われるK8sの中心的なコンポーネントだ。K8sクラスタの全てのコンポーネントとユーザの通信に用いる(CLI・ダッシュボード等)。

はかせ
はかせ

etcdキーストアは、収集した情報を管理する役割を担っていて、複数のノードに分散してデータを保存するんですよね。

もんた
もんた

残りのコントローラ、スケジューラがマスタノードに存在するのは、イメージしやすいかもしれないな。

はかせ
はかせ

そうですね。クラスタ全体を監視するコントローラと、作業やコンテナを分散させるスケジューラは実行環境であるワーカーノードではなく、マスタノードに居る必要がありますね。

もんた
もんた
3

kubectl

kubectlキューブコントロールとも呼ばれるコマンドラインユーティリティについても触れておく

はかせ
はかせ

ctlはコントロール、の略なんですね。

もんた
もんた

kubectlツールはK8sクラスタ上のアプリケーションをデプロイし、管理するために使用される。またクラスタ情報を取得したり、クラスタ内の他のノードの状態を取得したりできる。

はかせ
はかせ

コマンドラインユーティリティと言うことは、CLIでコマンドを打って使用するんでしょうか?

もんた
もんた

そうだ。そのままだが、kubectl+半角スペース+コマンドという形式で使う。ここでは3つだけ紹介する。

はかせ
はかせ
$ kubectl run           # アプリケーションをクラスタ上にデプロイする
$ kubectl cluster info  # クラスタの情報を表示
$ kubectl get nodes     # クラスタが属するすべてのノードをリストアップ

今後の講義で、他のコマンドも取り扱うが、それは関連するコンセプト(概念)を学んだあとに説明する。とりあえずは上の3つでOKだ。

はかせ
はかせ
今日のポイント
  • コンポーネントの内、ワーカーノードに置かれるのは、コンテナランタイムと、kubeletの2つ
  • 残りの4つはマスターノードに配置。特にAPIサーバはマスタノードの中心的なコンポーネント
  • K8s環境では、kubectlキューブコントロールコマンドを用いてデプロイ・管理を行う
Coffee Break

放課後

いや~、前回に引き続き、コンポーネントの2回は新しい用語が出てきてお腹いっぱいです。

もんた
もんた

インフラストラクチャを構築する際、システムに適切なコンポーネントをインストール・設定するのに役立つから、しっかり押さえておいてくれ。

はかせ
はかせ

復習しておきます~

もんた
もんた
次の講義はこちら
K8s 5分講座#09 Pod
K8s 5分講座#09 Pod
ABOUT ME
もんた
もんた
システムエンジニア歴15年、2児の父。
ITの世界に飛び込んで以来、仮想サーバ・ネットワーク・データベース・クラウド・コンテナ等、
様々な分野の業務に携わりながら、異動のたびに何度も”初心者”になり、学習を繰り返す。

会話形式でサラッと読み進められるIT技術講座を展開中。
読みやすいのに気づいたら基礎から応用まで身に付いている!そんな記事が目標です。
記事URLをコピーしました