ジャパニアス株式会社このサイトはジャパニアス株式会社をスポンサーとして、Zenkenが運営しています。Kubernetes(クバネティス)Kubernetes(クバネティス)目次KubernetesとはKubernetesは、コンテナ仮想化ソフトウェアを管理・自動化するためのオープンソースソフトウェアです。仮想化ソフトウェアとは、一つのサーバー上に複数台の仮想マシンを運用できるシステムのことを言います。コンテナについてKubernetesを理解するためには、コンテナについての理解が必要です。コンテナとは、アプリケーションの動作環境を貸そう構築する技術のこと。ホストとなるOS上に合う里ケーションやライブラリなどをまとめたものです。コンテナを1つの単位としてシステムから分離できます。従来の仮想化ソフトウェアでは、1つの仮想環境の中にすべてのリソースを構築することしかできませんでした。異なるOS環境を使う必要があるため、毎回OSまで作らなければいけません。コンテナは、複数のOSが実行しているシステムを1つにまとめられるため、OS周辺の環境は共通利用しながらCPUやメモリはコンテナ単位で管理できます。別のOSを作成する必要がありません。コンテナはホストOSごとに独立した環境を構築するため、別ホストで運用する場合の管理が難しいというデメリットがあります。そこで、複数ホストでコンテナを管理・運用できるのがKubernetesです。Dockerとの違いKubernetesと似た役割のソフトウェアに、Dockerがあります。どちらもコンテナを用いてアプリケーションを実行するためのソフトウェアです。両者の違いは、実行される場所と利用目的にあります。実効される場所は、Kubernetesがクラスタ、Dockerが単一ノードです。クラスタは、コンテナの配置や削除を行うときに指示を出す部分。ノードはクラスタを構成する各サーバーのことです。この実行場所の違いが、利用目的に影響します。Kubernetesは各コンテナを管理すること。Dockerはアプリケーションを各コンテナに分離することです。どちらかのみの利用ではなく、連携して利用することでコンテナを上手く活用できます。Podがあり、複数のPodはNodeにまとめられています。そのNodeが集まってクラスターとなります。Kubernetesがコンテナの配置や削除を行う際、直接指示を出すのがクラスターです。クラスターはKubernetesの最上位階層に位置します。Kubernetesのメリット・デメリットメリットKubernetesを利用すると、アプリケーションの公開を自動化できます。万が一不具合があった場合でも、修正後のバージョンへ入れ替えたり、ロールバックしたりする作業も自動化が可能です。自己回復機能があるため、障害に強いため、コンテナがダウンしたり操作ミスで削除したりといった時も焦らず操作できます。クラウドはもちろん、オンプレミスでも利用可能です。環境依存の心配がありません。デメリット管理マシン・実行マシンとしての物理サーバーかクラウドサーバーが必要です。現システムの構成や環境によっては、新規でサーバーを用意するための初期投資が必要になります。定期的にアップデートされるため、最新の機能などを継続的に学ぶ必要があります。高い拡張性がある反面、選択肢が多いため、使い方を明確にしておかないと、十分に使いこなせません。事前の準備が必要です。Kubernetesの用語PodService(ClusterIP、NodePort、LoadBalancer、ExternalName)NamespacePodは、実行できるアプリケーションの最小単位を意味します。共有ストレージやネットワークなどをファイルで設定可能です。Serviceは、Podとの通信を容易にするためにエンドポイントを提供する機能。Namespaceは、クラスターの分離機能です。複数のユーザーでクラスターリソースを分割できます。_TOPサイトマップ本サイト「エンジニアQUEST」は、ジャパニアス株式会社さんをスポンサーとしてZenken株式会社が制作・運営をしております。掲載している写真・コンテンツの内容は、2023年8月~9月時点の情報です。当サイトに関するお問い合わせは運営会社情報ページよりご連絡ください。