常日頃から「世の中には難しいことが多い!」と感じることが多い私が、様々な用語を、「誰にでも」「なんとなーく」理解できるように全力で解説します!
今回解説する用語
Kubernetes(クバネティス)について解説します。昨今ではコンテナ技術が流行ってきておりますが、コンテナを学習する上で必ず「Kubernetes」という単語が出てくると思います。Kubernetesは調べるととても奥深い内容ですが、ここではなんとなく分かるように説明をします。
前提となる知識
・アプリケーションの仕組みがなんとなく分かる人
公式ドキュメント抜粋
本記事を読み終わった後に、理解を深めるためにもぜひ以下の公式ドキュメントを読んでみてください。
Kubernetesは、宣言的な構成管理と自動化を促進し、コンテナ化されたワークロードやサービスを管理するための、ポータブルで拡張性のあるオープンソースのプラットフォームです。Kubernetesは巨大で急速に成長しているエコシステムを備えており、それらのサービス、サポート、ツールは幅広い形で利用可能です。
https://kubernetes.io/ja/docs/concepts/overview/what-is-kubernetes/
Kubernetesとは
コンテナ化されたアプリケーションを自動的に管理するためのツールです。コンテナが複数ある場合に管理が楽になります。
コンテナとは
「1つのPCの中にアプリケーション開発をするための環境を複数作ることが出来る技術」です。以下の画像のように、今までは1つのPCに1つの開発環境を作成していましたが、コンテナを使用することで複数の環境を作成することが出来ます。
具体的に説明するよ
コンテナはとても便利ですが、コンテナの数が増えてくると管理が大変になります。
そこで、Kubernetesを使用することで以下のような様々なお悩みに対応することが出来ます。
1つのコンテナにアクセスが集中して処理が遅くなる。。
⇒アクセスしてくるデータ量を複数のコンテナに分散させマス
間違えて資材をデプロイ(配置)してしまった後に、前の状態に戻したい。。
⇒いつでもあるべき姿に変更可能になりマス
障害などで1つのコンテナが止まってしまった場合に、別のコンテナに切り替えたい。。
⇒自動で処理が失敗したコンテナを再起動して、正常なコンテナへ切り替えマス
PodのIPアドレスは再起動するごとに変わってしまう。再起動ごとに変更されたIPアドレスを設定し直すのはめんどくさい。。
⇒DNS名または独自のIPアドレスを使うことで、そんなの気にしなくて良いデス
(自動でPod再起動ごとに自動でアクセス先のIPアドレスを変更しておきマス)
このようにコンテナを操作して、様々なお悩みを解決するツールのことをKubernetesと言います。
オーケストレーションツールと呼ばれているように、まさにオーケストラの指揮者のような役割を果たします。
それでも分からない人向けに説明するよ
Kubernetesは一言でいうと「監督」です。
選手の誰かに負担がかかっている場合は指示を出して他の選手にフォローをさせます。
選手たちが間違えた方向に行こうとした場合にあるべき姿に修正をします。
選手がけがをしてしまった場合に交代する選手を決めます。
年度が切り替わると選手も代わりますが、監督がポジションやスタメンなどを検討してくれます。
監督がいないと、メジャーの聖秀学院高校編の時の茂野吾郎みたいに大変なことになりますね。
まとめ
Kubernetesとはコンテナを管理するための便利なツールのことです。
コメント