BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Azure Kubernetes Serviceに関するMicrosoftのGabe Monroy氏とのQ&A - Build 2018にて

Azure Kubernetes Serviceに関するMicrosoftのGabe Monroy氏とのQ&A - Build 2018にて

原文(投稿日:2018/06/20)へのリンク

ワシントン州シアトルで先日行われた//buildカンファレンスでは、コンテナやKubernetesに関する多くの技術セッションが行われた。その中のひとつが、先日GA(General Availability)に到達したAzure Kubernetes Services (AKS)だ。

Container on AzureのリードプログラムマネージャであるGabe Monroy氏に、Azure Kubernetes Service (AKS)について聞くことができた。話の中で氏は、AzureクラウドがKubernetes Serviceを補完していること、Deisの買収によってKubernetesサービスが強化されたこと、Microsoftがコミュニティに協力すると同時に、例えばAzure Active Directory(AAD)との統合などによってサービスの差別化を図っていることなどを、詳細に説明してくれた。

InfoQ: いきなり本題に入りますが、Kubernetesサービスはさまざまなクラウドが提供しています。その中にあって、AKSの差別化要因は何で、開発者やアーキテクトは何に注目すべきなのでしょうか?

Gabe Monroy: Kubernetesサービスを選択する時に忘れてならないのは、すべてがKubernetes上で動作する訳ではない、ということです。システムはデータストアやキュー、ファンクション、他のサービスなどにも依存していますが、それらの多くはKubernetes上で実行されるものではないのです。ですから、Kubernetesサービスにおいて最も重要な差別要因は、それが動作するクラウドプラットフォームであると言えます。Azureでは、Azure Active DirectoryやAzure Traffic Manager、Azure Monitor、そしてもちろん、他にはない当社の開発者ツールにもアクセスすることができます。

AKSサービスでは、具体的に次のような差別化機能があります。
  • Azure Active Directoryに統合されたイKubernetes RBAC
  • AKSポータルに直接組み込まれたモニタリングおよびロギング機能
  • IngressとDNSゾーンファイル管理を統合したHTTPアプリケーションルーティング
  • コンピューティングおよびグラフィック集約型ワークロードのためのGPU対応ノード
  • プライベートネットワーク用のカスタム仮想ネットワークのサポート
  • Azure FilesとAzure Disksによる永続型ボリュームのサポート
  • SOC、ISO、HIPPA、HITTRUSTによる規制への対応

InfoQ: あなた自身は、Microsoftが買収したDeisという企業の一員でした。Deisで行っていた開発がどのようなものだったのか、あるいはAzure Kubernetesプラットフォームにどのように統合されたのか、コメントを頂けますか?

Monroy: Deisは2つの分野で高い評価を得ていました。

  1. Kubernetesの開発者用ツールの開発 - Deis WorkflowというHerokuスタイルのPaaSソリューションを開発し、高い評価を得ていました。Deis Workflowは、Kubernetes上で動作する初のPaaSソリューションです。Kubernetes用のパッケージ管理ソリューションのHelmも開発しました。Helmはその後、デファクトとしてエコシステム全体で使用されるまでになり、先日はトップレベルのプロジェクトとしてCNCFにも選出されています。Helmの開発は、DraftやBrigadeといった他のオープンソース開発者ツールとともに、現在も積極的に行われています。
  2. 大手ユーザによるKubernetesの実運用導入の支援 - Deisでは、MozillaやHearst Corporation、OpenAIといった大規模ユーザのKubernete導入成功を専門的なサービスで支援し、高い評価を受けました。このビジネスをKubernetesの黎明期に行っていたことで、Kubernetesの大規模な運用に必要なさまざまなノウハウを学ぶことができたのです。この時の経験に大きな価値のあったことは、AKSの開発でも実証されています。

InfoQ: 先日、Azure Container InstancesがGA(General Available)になりましたが、AKSとAzure Container Instanceをいつ使うべきなのか、開発者あるいはアーキテクトに対してアドバイスできることはありますか?

Monroy: 先週、Azure Container InstanceとAzure Kubernetes Serviceが一般利用可能になりました。とても嬉しく思っています。

  • ACIをいつ使うべきか? コンテナが必要だが、コンテナオーケストレーションのオーバーヘッドを望まない場合です。少数のコンテナを実行したいのならば -- 完結型(完了するジョブなど)であるか、無期限実行型(単純なWebアプリなど)に関わらず、ACIはよい選択肢になります。簡単に利用できますし、課金も秒単位で、仮想マシンを管理する必要もありません。ACI APIはVirtual Machine APIにほぼ近く、インスタンスの生成、読み取り、更新、削除、一覧が可能です。単にVMがコンテナに代わっただけです。
  • AKSをいつ使うべきか? コンテナの実行において、次のようなコンテナオーケストレーション機能が必要な場合 -- ゼロ・ダウンタイム・アップデート、多数のレプリカの管理、サービスディスカバリを備えたコンテナ間通信、バッチワークフローなど。環境間の移植性、CNCFが提供するツールとサービスの巨大なエコシステムへのアクセス、といったKubernetesエコシステムのメリットを享受したいのであれば、AKSもよい選択肢になります。
Azure Compute Decision Treeには、AKSやACIを始めとする、さまざまなサービスをいつ選択すべきかについての詳細な説明があります。

InfoQ: Kubernetesエコシステムは急速に発展していて、開発者にとって課題のひとつになっています。例えば、NagiosやGangilaといった愛用のモニタリングツールを使いたい企業開発者としては、a) Kubernetesクラスタの監視、b) 使い慣れた既存のツールの使用、が困難になるという問題があります。現在も進化を続けるKubernetesエコシステムのこういった機能、特にモニタリングに関して、AKSではどのようなアプローチを取っているのでしょうか?

Monroy: AKSでは、モニタリングとログ集計に関して、素晴らしいエクスペリエンスを追加設定なしで提供したいと考えています。事実として、今年シアトルで開催された//buildカンファレンスでは、Azureポータル内で動作するコンテナ状態のモニタリングについて紹介しました。ここで提供されていたダッシュボードでは、コンテナや関連する監視メトリックを表示したり、コンテナのログに直接ドリルダウンすることが可能です -- すべてがAzureポータル内で可能であり、デフォルトで有効になっています。これは開発者として、ぜひ欲しいエクスペリエンスです。

独自のモニタリングソリューションの実行を望むユーザに対しては、Kubernetes DaemonSetsを介してこれをサポートしています。KubernetesクラスタのすべてのVMにエージェントをインストールすることが可能です。Helmを使用すれば、一般的なソリューション用の既製モニタリングパッケージのインストールも簡単です。ただし、独自のモニタリングソリューションの導入を選択する場合は、製品の一部として提供される組込みソリューションを使用する場合よりも、やらなければならないことが必ず多くなります。どちらを選ぶかは、あなた次第です。

InfoQ: コンテナやKubernetesは、新たなセキュリティリスクになるという認識がありますが、これを回避するために、ASKは何をしていますか?

Monroy: Kubernetesとコンテナが安全でないのではなく、セキュリティモデルが根本的に変わることが問題なのです。ファイアウォールルールのアクセス管理リストを作成するために、これまではIPアドレスが使用されてきました。コンテナの世界ではIPアドレスはすぐに変化するため、ファイアウォールルールに使用することはできません。セキュリティチームは、(ロール=フロントエンドはロール=バックエンドと通信できる、というような)ラベルベースのファイアウォールルールを使用する必要があります。実行時のセキュリティにも同じような変化があります。この場合は、プロセス機能の制限とシステムコールのフィルタリングが重要になります。

一般論としては、安定したコンテナインフラストラクチャのセキュリティ状態は、従来のVMインフラストラクチャよりも優れていると言えます。例えばAKSは、GAリリースの時点で、Azure Active Directoryに統合された認証とグループ管理をすでにサポートしています。これにより、ユーザアカウントとグループを集中的に管理するセキュアなソリューションが提供され、Kubernetesにも適用されています。Azure ADのユーザIDは、Kubernetes RBACサポートの基礎にもなっています。Active DirectoryはAzureのユニークな機能で、これが製品に組み込まれていることは大きなメリットだと思います。

InfoQ: AKSのロードマップについて教えてください。将来的にKubernetesコミュニティと共同開発する予定はありますか?

Monroy: 複数のノードプール、クラスタ自動スケーリングの統合、セキュリティ機能の追加を、近く実現する予定です。多くのリージョンの追加や、Azureプラットフォーム全体に対する統合性の向上も計画しています。優れた開発者ツールやユーザエクスペリエンスの実現も、私たちにとって大きなテーマです。

私が特に期待しているのは、KubernetesコミュニティのVirtual Kubletと共同で行っている開発です。Kubernetes APIをオンデマンドで使用できて、秒単位の課金が可能で、仮想マシンが不要という“サーバレスKubernetes”のアイデアには、多くのユーザが魅力を感じています。サーバレスKubernetesに関しては、近く公開される最新情報に注目してください。

基調講演や、このセッションを含む他の録画記録は、build 2018 Webサイトで公開されている。

この記事を評価

採用ステージ
スタイル

この記事に星をつける

おすすめ度
スタイル

BT