「Knativeの歩き方 KubernetesからServerlessを訪ねて」を写経しつつ読んだ

先週、San Franciscoで開催されたGoogle Cloud Nextに参加した。 f:id:kmiya_bbm:20190416233348j:plain

参加できることが決まった3月上旬から、せっかく行くなら予習しとこう!と前から気になっていたKubernetesを調べたり触ってみたりして勉強していた(過去の記事を参照)のだけれど、その中でKubernetes 上にサーバーレス環境を構築するKnative なるOSSがあると知り、興味本位で情報を集めていた。

イムリーにServerless Meetup Tokyo #11 でKnative についての発表があったようで、こちらの資料は概要を掴むのにとても良かった。
入門 Knative 〜KubernetesとServerlessとの出会い〜 / getting started with knative - Speaker Deck

Kubernetes や Knative を調べてからGoogle Cloud Nextに参加したのは結果的には大正解で、今回のNextで発表された Anthos (実際には昨年発表された Cloud Services Platformのリブランドのようだが) はKubernetes を前提としているし、Cloud Run も KubernetesやKnativeをベースとしたサービスだったため、予習しないで行っていたら完全に置いてけぼりだったと思われる。 Cloud Run がとてもおもしろそうだったので、日本に帰ったらKnative と共にもう少し詳しく調べてみよう、と思っていたところにこちらの記事を発見した。

toshi0607.com

出発前の予習でお世話になった資料を作られた方が技術書典 #6 で Knative の本を出されると聞き、早速BOOTHで購入、写経してみた次第。 地方在住の子育て世帯ということもあり都内で週末に行われるイベントにはほとんど参加できないが、こうして手軽に電子版を購入できるのはありがたい。

toshi0607.booth.pm

感想

目次や主な内容については上にリンクを貼った著者様のブログ記事にて言及されているので割愛するが、Knative v0.5 で大きく仕様が変わった Eventing まわりの内容に追従できているのがまずすごい。Eventingについては Nextでもセッションで詳しく取り上げられていたのでこのあたりの動画と合わせて復習すると良さそう。

www.youtube.com

この本はとにかくハンズオンのための説明が丁寧で、写経していて詰まるところはほぼなかった。ほんの一部の手順で思う通りに実行できなかった箇所があった(最後の Kubernetes イベントを拾って表示するところ)ので、勉強のため引き続き調査して解決したい。
また、一部コマンド実行例に誤植があったので記録しておく。p.25 と p.37 の環境変数 KNATIVE_INGRESS を設定する箇所。

$ export KNATIVE_INGRESS=$(kubectl get svc istio-ingressgateway --namespace istio-system --output 'jsonpath={.status.loadBalancer.ingress[0].ip')}

↓

$ export KNATIVE_INGRESS=$(kubectl get svc istio-ingressgateway --namespace istio-system --output 'jsonpath={.status.loadBalancer.ingress[0].ip}')

2019/04/18 追記

著者様が光の速さで正誤表ページを用意しつつ、修正版v1.0.1もリリースしてくださいました!対応速っ!!ありがとうございます!


なんというか、著者様の愛をとても感じる本で、全体を通して構成や文章も商業書籍のようによく練られていて、するする読めてしまった。
するする読めるし写経も詰まることがなかったおかげで、ちゃんと理解できていなかったり知識が定着していない箇所が多そうなので、折に触れて読み返そうと思う。

Knative についてはそれ自体も興味深いが、Cloud RunをはじめTriggerMeshが公開したKubernetes 上にAWS Lambda互換環境を構築するOSS 「Knative Lambda Runtime (KLR)」 など、Knative をベースにして展開されるサービスがとてもおもしろくなりそうなので、この周辺の技術はウォッチしていきたい。

参考資料

Google Cloud Next 19でも Knative関係のセッションがいくつかあったのでリンクを貼っておく。
質疑応答コーナーが面白いセッションもあったが、動画ではカットされていてちょっと残念。

www.youtube.com

www.youtube.com