2018.02.20

急成長を続けるKubernetesの最新動向(後編)

鈴木いっぺい
クリエーションライン株式会社
このエントリーをはてなブックマークに追加
こんにちは、クリエーションライン 株式会社の鈴木いっぺいです。
普段はロスアンゼレスに在住し、米国各地のオープンソース系のITベンダーとの付き合いを通して、日本とのパイプ作りに専念する毎日です。
今回のブログは、Dockerと共に急成長しているKubernetesの最近の動向について、前編、後編に渡ってご紹介したいと思います。

CNCFエコシステム

CNCF(Cloud Native Computing Foundation)では、下記の図を作成し、頻繁に改定しています。


180219_ippei_05.png

この表は、CNCFの定義する、クラウドネーティブランドスケープと呼ばれるもので、CNCFが定義する下記のカテゴリーに該当するベンダーやテクノロジーを整理したものです。 

App Definition & Development - アプリケーション開発ツールとデータベース

  • 言語フレームワーク
  • データ分析
  • ストリーミング
  • SCM
  • アプリ統合、レジストリサービス
  • CI/CDツール

Orchestration and Management - オーケストレーション/運用管理

  • オーケストレーション
  • サービスディスカバリ
  • サービス管理

Runtime - ランタイム ツール

  • ストレージ
  • コンテナランタイム
  • ネットワーキング

Provisioning - プロビジョニング ツール

  • インフラ自動化
  • ホスト運用管理
  • セキュリティー

Cloud - クラウドインフラ

  • クラウドプラットホーム技術 ※このカテゴリーはCNCFの対象外

Platforms - プラットホーム

  • PaaS、コンテナ運用
  • サーバレス/イベントベース

Observability & Analysis - 監視/分析

  • 監視
  • ログ収集/分析
  • トレーシング

上記の図においては、基本的にCNCFで採用されているプロジェクト(現時点で合計16個)は大きい箱で記載されていて、これに加えて、関連するオープンソース技術と商用製品として提供される技術も記載されています。

ここで注目すべきは、CNCFは決してKubernetesに限定した活動をしているわけでは無い、ということです。
Cloud Nativeの名が指す通り、クラウド上でアプリを開発、運用するための次世代のアーキテクチャを定義し、その普及を促進することが目的であって、Kubernetesはどの道具の一つとしての役割にすぎない、ということです。

もう少し厳密に説明すると、CNCFの定義するクラウドネーティブなシステムは次の要件を満たしている必要があります。

  1. コンテナによるパッケージング
    アプリケーションやプロセスをコンテナを単位として稼働し、再利用による応用性や開発スピードの向上に活用する。
  2. 動的な管理
    サービスのスケジュール等の管理を集中的なオーケストレーション機能で行う。下位のハード(CPU/ネットワーク/ストレージ)やVM/OSリソースのより有効な利用による総合的なコスト削減を実現する。
  3. マイクロサービス志向
    各アプリやプロセスが疎結合で通信しあいながらも、各サービスの役割は明確に定義されている環境を通して、アプリケーション全体の管理効率を向上させる。

まだ、クラウドネーティブの市場は始まったばかりで、ランドスケープに現在登録されている技術やベンダーはコンテナ技術を早い時点で採用しているITリーダ企業とスタートアップで占められています。

カテゴリーについても今後広がって行く可能性を秘めながらも、CNCFの方針としては、これ以上カテゴリーは増やさない、という意思は強いようです。

少し気になるキーワード

2018年初頭の時点でCNCFのメンバーは170社を超え、新しいプロジェクトやツールが日毎に登場しています。特に注目を浴びている新規のプロジェクトやツールをいくつか紹介したいと思います。

Istio


180219_ippei_06.png
Istioは、マイクロサービス環境におけるサービス間の接続、管理を行うためのプラットホームで、Google、IBM、Lyft社で共同開発されているものです。

特にマイクロサービスにおけるサービスメッシュの機能を提供することを目的としており、すでにCNCFのプロジェクトとして採用されている、Envoyと呼ばれるプロキシーエージェント(各サービス内のpodにサイドカーとしてインストールされるコンテナで、podのテレメトリー情報を収集する役割)を利用して、そこからデータを収集して様々な分析を行うコントロールプレイン(control plane)と呼ばれる機能を提供します。

IstioのControl Plane側から次のAPIが定義されています。

  • Pilot:サービス間通信(HTTP, gPRC, WebSocket, TCP, 等)の自動的な負荷分散
  • Istio-Auth:サービスに対するアクセス管理機能のAPI
  • Mixer:サービスの性能監視やログ管理などを行うためのデータ収集

Kubernetesでのコンテナ運用がプロダクションに移行し、システムの規模が大きくなってくると、全体の運用管理を一括して提供できるツールの必要性が高まり、Istioが大きく注目されはじめています。

CNCFのもう一つのプロジェクトである、LinkerdはTwitter社が開発したサービスメッシュのプロキシーであるが(Envoyと同等)、2017年の7月にはLinkerdがIstioと統合されています。

Linkerdの商用版を開発しているBuoyant社は、Conduitと呼ばれるサーバーメッシュ機能を開始。この製品は、Kubernetes専用であることと、超軽量なRustと呼ばれるプロキシ(Envoy相当)を提供していることが特徴です。

Kata Containers


180219_ippei_07.png

Open Stack Foundationの新規プロジェクトとして12月に発表されたばかりの技術で、コンテナを稼働することに特化した、軽量化VMスタックです。VMが元来持つ、性能面のオーバヘッドを加えずに、コンテナのアプリケーション間の独立性(isolation)をVMのレイヤーで確保することを目的としています。基本的に、1つのVMの上に、1つのコンテナが動くイメージです。

現在、このVMはKVMベースで開発されており、今後はXenもサポートをする予定です。一方、ESXについてはVMWareがvSphere Integrated Containers、と呼ばれる、同等の機能を自社開発しているため、本プロジェクトの対象外となっています。

Kata Containerは、Intelの開発したコンテナプラットホーム Clear Containerと、HyperHQ社の runVという2つの技術がベースとなっています。

HyperHQ社は中国系のITベンダーです。一方、Clear Containerのコンテナセキュリティー技術はCoreOSのrktでも採用されています。

Helm Charts


180219_ippei_08.png

Helmは、複数のKubernetesデプロイメントの設定情報をテンプレート化し、パッケージ化することにより容易に再生、バージョン管理、ロールバック、等の運用ができるようにするメカニズムです。

Chartはパッケージ化されたフォーマットで、Helmはそれを管理するツールの名称。HelmはLinuxでいうところのyumとかaptで、Chartはdebsとrpmsに相当します。

プロダクション環境で大量のコンテナを運用する際に、各々のKubernetesのリソースを一括管理し、CI/CDプラットホーム化するのに非常に便利なツールとして注目されています。

コミュニティですでに作成されたChartを集約し、それを自由に引用できるパブリックなChartレポジトリも存在してます。

Rook


180219_ippei_09.png

CNCFの15番目のinceptionレベルのプロジェクトとして2018年の1月末に採用された、かなり新しいプロジェクトです。

アプリケーションの利用する分散ストレージをKubernetes上で実装、運用管理するための機能として提供されています。

ストレージ/ファイル管理の運用や保守のライフサイクルで必要な機能(プロビジョニング、セキュリティー管理、ポリシー管理、ライフサイクル管理、リソース管理、等)をKubernetes環境下で自動化することができるようになります。

当面はCephのブロックストレージだけをサポートしますが、今後、Cephのオブジェクトストレージや他のストレージエンジンもサポートする予定にあります。

この記事の著者:鈴木いっぺい

クリエーションライン株式会社

アメリカに在住20+年、最近は成長著しいオープンソース系の市場を中心に、有望企業を開拓し、日本への市場展開を支援するITプロフェッショナル。現在は、クリエーションライン(株)の取締役/CSOとして、DevOps、ビッグデータ/分析、コンテナ技術を持つベンダーの日本代理店運営、日本法人/JVの設立、買収/投資、等のプロジェクトを立ち上げ、推進する事に注力。
アメリカのオープンソース系ベンダーとのコネクションは強く、多くのベンダーから日本市場展開に対する相談を受ける。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。