K8s 5分講座#01 Kubernetesとは?

Monta

Kubernetesクバネティス 5分講座へようこそ!

はかせ
はかせ

コンテナすら触ったことないのに、Kubernetesでお仕事することになってしまったー!助けてください…(実話です)

もんた
もんた

それはおめでとう!Kubernetesを押さえている人はまだ日本に多いとは言えないからね。逆に言えば、替えの利かないレア人材になるチャンスと言うわけだ。

はかせ
はかせ

そ、それはエキスパートに一歩近づけるということですね!頑張ります!

もんた
もんた
1

Kubernetesとは

まずはKubernetesの成り立ちだが、Google社が自社の大規模なシステムを管理するために、コンテナオーケストレーションシステムの開発を行い、これがKubernetesのベースとなった。

はかせ
はかせ

Google社が起源なんですね…知らなかった。

もんた
もんた

2014年にはオープンソースプロジェクトとして発表され、現在はCNCF(Cloud Native Computing Foundation)によって管理されている。

はかせ
はかせ

ソースコードを一般公開してみんなで良くしていこうゼ!にしたんですね。

もんた
もんた

今やコンテナ・オーケストレーション・テクノロジーの中で最も人気があり、最も優れたものの1つと言えるだろう。そんなKubernetesを理解するには2つのことを押さえておく必要がある。

はかせ
はかせ

Kubernetesの重要なキーワード2つ…?

もんた
もんた

コンテナオーケストレーションだ。この2つの用語に慣れればKubernetesのチカラを理解できるだろう。

はかせ
はかせ

いや、まんまやないか~い!

もんた
もんた
2

コンテナとは?

コンテナとは何かを見ていこう。ここでは人気のあるコンテナ技術であるDockerを例に説明していく。まず、Dockerの仕組みを理解するために、OSの基本概念を再確認しておこう。

はかせ
はかせ

OSの基本概念

OSは全て、OSカーネルディストリビューション(ディストロ)の2つで構成されている。

はかせ
はかせ

なぜか美味しいフライドチキンが食べたくなってきた。。

もんた
もんた

Linux、UbuntuウブンツCentセントOSなど様々なOSがあるが、これらのOSカーネルは共通してLinuxであり、HWとのやり取りを担当している。

はかせ
はかせ

あぁそっちのカーネルさんですね。もちろん分かってましたよ!

もんた
もんた

各OSを独自のものにしているのはディストリビューションで、UI、ドライバ、コンパイラ、ファイルマネージャ、開発者ツールなどで構成される。

はかせ
はかせ

”Linux OS”というのは、OSカーネルとディストリビューションを含めたものを指すのですか?

もんた
もんた

その通り。Linux OSは、LinuxカーネルLinuxディストリビューションを含むものを示す。

はかせ
はかせ

やった!正解!

もんた
もんた

同様に、UbuntuやRHELレル(Red Hat Enterprise Linux)は、Linuxカーネルに加えて独自ディストリビューションとしてソフトウェア、ツール等を含めたもののことを指すんだ。

はかせ
はかせ

Dockerはカーネルをシェアする

Dockerは、同じカーネルをベースにしている限り、その上でどんなOSも動かすことができる。

はかせ
はかせ

例えばDockerがインストールされたUbuntu OS上で、Cent OSのような他のディストリビューションをベースにしたコンテナを実行できるということですか?

もんた
もんた

その通り。各DockerコンテナにはOS独自のディストリビューションがあり、DockerはインストールされたホストのOSカーネルを利用する。

はかせ
はかせ

なるほど。OSカーネル部分は共通だからインストールされたホストのカーネルを使うんですね。同じカーネルじゃない場合というのはどういうケースですか?

もんた
もんた

先ほどの例で言えば、Windowsベースのコンテナだと動作しない。

はかせ
はかせ

みんな大好きWindowsが…

もんた
もんた

Linux OSを搭載したDockerホスト上では、OSカーネルはLinuxカーネルを用いるので、シェアできないのだよ。

はかせ
はかせ

Dockerがあればその他のレイヤは何でもOK!と言うわけではないんですね。

もんた
もんた

ただこれはあまりデメリットにはならない。なぜならDockerは1つのHW上で異なるOSやカーネルを複数実行することを意図していないんだ。

はかせ
はかせ

この辺はコンテナと仮想マシンと違う部分ということですね。勉強になりました!

もんた
もんた
今日のポイント
  • Kuberentes理解のポイントは2つ!コンテナオーケストレーションだ!(今日はコンテナ編)
  • OSは共通のOSカーネル独自のディストリビューションで構成
  • 同じOSカーネルベースならば、Docker上で他のディストリビューションベースのコンテナが起動できる
Coffee Break

放課後

ところでKubernetesって、K8sって書かれることがあると思うんですが、何でですか?クバネティスだから、バ!が8なんですかね?

もんた
もんた

イヤイヤ、8をハと読むのは日本だけだよね。これは英語独特のおシャレな略語なのだよ。Kとsの間にある文字数が8だから、K8sなんだ。

はかせ
はかせ

英語の略称はステキですね!もし日本発だったらクバとか、クバネになりそう。。

もんた
もんた
次の講義はこちら
K8s 5分講座#02 コンテナと仮想マシンの違い
K8s 5分講座#02 コンテナと仮想マシンの違い

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

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