GoogleのデモゴッドがKubeConで見せたKubernetesを意識させないDevOpsの実現

2018年2月1日(木)
松下 康之 - Yasuyuki Matsushita
KubeCon+CloudNativeConの2日目のキーノートには、GoogleのKelsey Hightower氏が登場した。

Cloud Native Computing Foundation(以下、CNCF)が、2017年12月5日~8日の日程でテキサス州オースチンにてKubeCon+CloudNativeConを開催した。約4000人という多くの参加者が、KubernetesやCNCFがホステイングするプロジェクトの最新情報に触れた。2日目のキーノートにはGoogleのエバンジェリスト、Kelsey Hightower氏が登壇した。Kelsey Hightower氏は、Kubernetesの書籍「Kubernetes: Up and Running」の著者としても名を馳せる、いわばKubernetesの伝道師だ。

Hightower氏のキーノートの動画:Keynote: KubeCon Opening Keynote - Kelsey Hightower

ここではHightower氏は、スライドを使わずにデモを行い、「Kubernetesを使って開発から本番環境へのデプロイがいかにスムーズに行われるべきか?」という命題を提示したと言える。最初に「Kubernetesはエンドゲームではない」と明言。これは往々にしてインフラストラクチャーに相当するソフトウェアを訴求する場合、そのツールの機能などの解説に終始してしまうことがあるが、「Kubernetesはあくまでもアプリケーションをスムーズに無駄な作業をせずに、本番環境に実装するために使うべきである」というHightower氏の主張を表した言葉とも言える。つまり、「Kubernetesを実行することが究極の目的であってはならない、あくまでも目的は開発したアプリケーションを素早く実装すること」という意味だ。

2016年のKubeConでCommunity Awardを受賞したのがHightower氏だ

2016年のKubeConでCommunity Awardを受賞したのがHightower氏だ

そしてKubernetesを制御するkubectlというコマンドラインツールについて、「kubectlは新しい時代のSSHだ」と説明。これはOSを操作する際にログインを行ってコマンドを実行するということが時代遅れであり、無駄な操作ということだ。Hightower氏は、CI/CDそしてパイプラインを使って無駄な操作をせずに、必要なアプリケーションの実装までをデモしてみせた。つまりkubectlというツールを使わなくても、CI/CDを行い、必要なアプリケーションを実装できるところをデモで実証してみせるというのが目的だ。

最初に行ったのはHightower氏のお約束のデモ、スマートフォンからGoogle Assistantを使った音声によるKubernetesクラスターのプロビジョンだ。「OK、Google」というウェイクワードに続いて、Kubernetes Engineに対してKubernetesクラスターを8ノード、GCPに作成することを命令。この音声認識からkubectlに命令が渡る部分はHightower氏が開発したデモ用ツールのようで、KubeCon以外のカンファレンスでも実演されているのを筆者は目撃している。このデモではクラスター作成の後のリアクションとして音声アシスタントが「クラスターを作るのはKubernetes the easy wayね」とコメントを付け加えるが、これはHightower氏がGitHub上で公開している「Kubernetes the hard way」というチュートリアルに対するジョークだろう。

Kubernetes The Hard Way

このチュートリアルでは、GCPを使ってKubernetesをゼロから立ち上げて実行するまでが丁寧に解説されている。

ここからはノートPCのブラウザとコマンドラインから様々な操作を行って、GitHubからクローンしたデモアプリケーションに対して修正を実行、そしてQA、Staging、Productionと名付けられたテスト用、ステージング用、本番の3つのクラスターにアプリケーションを移行させていくという部分をデモで見せた。ポイントはkubectlやyamlと言った構成のためのコマンドや定義を実行、編集することなく、パイプラインに従ってアプリケーションが移り変わっていくと言う部分だろう。もちろん、GUIを使ってPodの状況を確認したりする部分もあるが、あくまでもそれは説明のために行っているだけで、本質的にはGitHubに対する操作だけでテストやビルドが実行され、自動化されていることが分かる。

Hightower氏は、コンテナの実行を行う際に構成管理やスクリプトを編集して実行することの無駄さを訴求し、Kubernetesを使うのであれば、クラスターの作成からアプリケーションのCI/CDを自動化することの重要性を強調した。そして最後に、冒頭で作成した8つのノードにアプリケーションを実装した上で、再度、スマートフォンから音声アシスタントを使ってデモアプリケーションを実行するPodをスケールさせ、10個のアプリケーションが複製されて実行されるところを実演した。

ちなみにこの最後のパートの音声アシスタントがコメントとして「That was pretty dope(ちょっとカッコ良かった)」と言って終わるところなど、いかにもデモ慣れしているHightower氏の決め台詞と言ったところだろう。4000人の参加者から拍手と歓声が起こったのも不思議ではない。

このデモでHightower氏が訴えたかったのは、Kubernetesは黒子に徹し、アプリケーションの実行環境として特別な操作を要求しないことの重要性だろう。敢えてkubectlを封印してデモに挑んだHightower氏が、Googleの社内で稼働するBorgのレプリカとしてのKubernetesの本質をもう一度、解説したというキーノートであった。

なお、展示会場ではPivotalがHightower氏の著作である「Kubernetes: Up and Running」のサンプルを配布していたようで、展示会場にはそれを貰うための長い列が出来ていた。

Pivotalのブースで著書を配布し、握手を行うHightower氏

Pivotalのブースで著書を配布し、握手を行うHightower氏

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第5回

KubeCon+CloudNativeCon、大手からベンチャーまで活気のあるブースを紹介

2018/2/8
KubeCon+CloudNativeConレポート最終回は、活気に満ちあふれたブースのようすを紹介する。
クラウドイベント
第4回

新しいセキュリティアプローチ、CalicoとIstio、Kubernetesによるゼロトラストネットワークとは

2018/2/6
ITシステムの中心がコンテナとなる時代の新たなセキュリティパラダイム「ゼロトラストネットワーク」とは。
クラウドイベント
第3回

Intelが中国のベンチャーHyperと共同で開発を進める新しいコンテナランタイムKataを公開

2018/2/2
Intelと中国のベンチャーと組んで開発する新しいコンテナランタイムKataがKubeConで紹介された。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています