【OSS】Kubernetes(K8s)の概要について

2023.01.04


こんにちは、WebSpeed サポートデスクです。

WebSpeed(ウェブスピード)のインフラ基盤では「Oracle Cloud Infrastructure Kubernetes Engine」というコンテナエンジンで稼働してますが、そもそもこの「Kubernetes」というのが どのようなモノなのか?を解説します。

Kubernetes の概要

Kubernetes(または K8s と略します)は、アプリケーションのデプロイ や スケーリング・管理を自動化するためのインフラ基盤を提供する、OSS(オープンソースソフトウェア)のコンテナオーケストレーション技術です。Dockerコンテナ のスケジューリング や ロードバランシング・死活監視 などの機能を 統合的に管理します。

※ 当初 Kubernetes は Google が設計・開発したシステムですが、現在は CNCF(Cloud Native Computing Foundation)の団体によって、管理・開発されています。

このような仕組みにより、ホストOS上に立ち上げた、複数の Dockerコンテナ のスケジューリング や ロードバランシング・死活監視 などを統合的に管理することで、拡張性・柔軟性のあるシステム運用を可能としています。

また、Oracle Cloud が提供する Kubernetes エンジン「Oracle Cloud Infrastructure Kubernetes Engine」であれば、独自の Kubernetes コントロールプレーン 及び ノードをインストール・操作・維持することなく、マネージドサービスとして、Oracle Cloud 上で Kubernetes を実行できる仕組みになっています。

WebSpeed が Kubernetes を採用する理由

① サービス基盤の拡張性

ゲストOSがなく ホストOSのカーネルを共有するため、最小限のオーバーヘッドで起動・ビルド・デプロイを迅速に実行します。また、要求に応じて必要なリソースを迅速に展開できるので、従来のような サービス・アプリケーションの用途ごとに、それぞれ新しくサーバー環境を構築するよりも、作業工数のコストを抑えています。

② サービス構築の自動化

サービス・アプリケーションをマイクロサービス化することで、インフラとアプリケーションの垣根を超えたポータビリティを実現します。システムの構成管理を自動化することで、よりスピーディーなサービス開発・実行できるので、アプリケーション固有のワークフローが向上し、拡張性のあるシステムを享受しています。

③ サービス運用の効率化

従来のハイパーバイザー環境では、ログやデータの管理・モニタリング機能の設定などを、それぞれのサーバー環境・ゲストOSに対して 適用する必要があります。Kubernetes のコンテナ環境であれば、アプリケーションのデプロイ・拡張の作業も効率化できるので、サービス・アプリケーション運用の効率性を高めています。