GoogleのデモゴッドがKubeConで見せたKubernetesを意識させないDevOpsの実現
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を実行することが究極の目的であってはならない、あくまでも目的は開発したアプリケーションを素早く実装すること」という意味だ。
そして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」というチュートリアルに対するジョークだろう。
このチュートリアルでは、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」のサンプルを配布していたようで、展示会場にはそれを貰うための長い列が出来ていた。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon+CloudNativeCon開催、勢いのあるKubernetesとCNCFプロジェクトが一同に
- KubeConで失敗を紹介したMonzo Bankのキーノート
- KubeCon NA 2020 LinkerdとAmbassadorを使ったマルチクラスター通信を紹介
- KubeCon+CloudNativeCon、大手からベンチャーまで活気のあるブースを紹介
- Kubernetesをサービスメッシュ化するIstioとは?
- KubeCon 2018 EU開催 着実に拡大するKubernetesエコシステム
- ChefConf 2017開催。エンタープライズITのあるべき姿を提唱
- KubeCon+CloudNativeCon NA開催 Kubernetesのクラスター管理を進化させる方法論をKatie Gamanji氏が解説
- KubeCon報告からKubernetes対応版Dockerまで、Docker Meetup Tokyo #20開催
- Kubernetesで機械学習を実現するKubeflowとは?