こんにちは、インフラエンジニアのryuです。
今回の記事から”kubernetes”について解説したいと思います。第一回の記事ということでkubernetesとは何なのかというところから、初心者の方に分かりやすく解説します。まずはオーケストレーションについて解説します。
目次
kubernetesとは?オーケストレーションツールの概要を1から解説
kubernetesって最近よく聞くけど何?
kubernetesとは、コンテナの管理を簡単にするオーケストレーションツールのことです!
???
今回の記事では、kubernetesとは何かということについて解説します。kubernetesをこれから始めたい方は必見です。
kubernetesとは、コンテナの管理を簡単にするオーケストレーションツールのことです。と、いきなり言われても何のことなのか全く分からない方がほとんどです。
そのような初心者の方に向けて1から解説します!
kubernetesを理解するためはDockerの知識が必須!
kubernetesを理解するためには、Dockerの知識が必須です。
Dockerとは何なのか、コンテナとは何なのか簡単に復習しましょう!
まず、アプリケーションの開発現場を想像してみてください。
アプリケーションを開発するためには、アプリを開発する環境、テストする環境、号口として動かす環境があります。
開発者は自分のMacで開発して、それをLinuxにリリースするということを想定します。そのような時、OSが違ったり、動作する環境の設定が違うことでアプリケーションは不具合を起こしてしまいます。
このようなことを起こさないために、アプリの動作する環境をコンテナと呼ばれる箱に入れてまとめて管理するのがDockerです。
良く分からないという方は、こちらの記事でDockerの概要を詳しく説明しています。
オーケストレーションツールとは?
ここまで、Dockerとコンテナについて解説しました。
ここからkubernetesについて解説します。kubernetesを理解するために、まずはアプリを運用する場面を考えてみましょう!
号口のサーバーは基本的に複数台で運用されます。
なぜなら、1台だけの場合、障害があったときにアプリが止まってしまうからです。アプリを運用するときは、複数台のサーバーを構築して、負荷分散をしたり、可用性を高めたりします。
では、Dockerで運用することを考えてみます。複数台のサーバーをDockerで構築するのはとても面倒くさいです。ネットワークの設定したり、1台ごとに配信したり・・・
そこで複数台のサーバーを一括で管理するものがオーケストレーションツールになります。
kubernetesとは?
では、kubernetesとは何なのでしょうか?
kubernetesとは、オーケストレーションツールの1つでコンテナを管理するためのソフトウェアです。
kubernetes以外にも、オーケストレーションツールはあります。ただ、kubernetesの人気が高く、多くの企業で使われております。
その他のオーケストレーションツールは以下のようなものがあります。
- Docker Swarm
- Apache Mesos
他にもいくつかありますが、kubernetesを覚えておけば問題ありません。また、kubernetesはAWSやAzureなどのクラウドサービスで利用できます。
また、kubernetesはK8sと略されるので覚えておきましょう。
ここまでで、kubernetesが何となく分かったと思います。
kubernetesを無料で学ぶには?
kubernetes何となく分かったけどどうやって勉強したらいいの?
私がkubernetesを学習したサイトを紹介します!
詳細を理解したいならkubernetesのドキュメント
まず、kubernetesを詳しく理解したいならば公式のドキュメントを読んでみましょう。
https://kubernetes.io/ja/docs/home/
ドキュメントは初心者の方では難しいですが、一つ一つの概念を理解するためには一番です。
環境構築が一切不要なkatacoda
次にオススメの学習方法はkatacodaです。こちらを使用すると、kubernetesの環境構築が必要なく、ブラウザ上で完結します。
kubernetsの環境を構築するためには、仮想化の知識は必須です。そのような知識が無い方でもkubernetesを操作することができます。
すべて英語ですが、google翻訳を使えば問題なく学習することができます。
https://www.katacoda.com/courses/kubernetes/launch-single-node-cluster
Dockerからkubernetesを一気に学ぶ
kubernetesを勉強するためには、Dockerの知識が必要です。Dockerとkubernetesを一気に学ぶには、こちらの書籍がオススメです。
書籍を読むのがめんどくさい方はこちらから↓