Docker/Kubernetes 実践コンテナ開発入門 に加筆するなら

ベストセラー作家です。「Docker/Kubernetes 実践コンテナ開発入門」の発売から半年。 非常に流れの早い領域なので、半年も経過すればトレンドも変化しているものです。というわけで、現時点で加筆するとしたら何をするかについて書く。

ちなみに全国ツアーと称したハンズオンみたいなものもやっていて、その中では書籍出版以降のトレンドを取り込んでやっているつもり。ご要望があれば遠方で行うのもやぶさかではない。

1章 Dockerの基礎

ナシ。

2章 Dockerコンテナのデプロイ

ナシ。初刷と2刷ではJenkinsのバージョンの問題によって、あるタイミングからプラグインインストールが失敗する問題が起きるようになってしまったが、3刷で修正されているので正誤表をご確認おば。

3章 実用的なコンテナの構築とデプロイ

ナシ。

4章 Swarmによる 実践的なアプリケーション構築

ナシだけどassets volumeの共有に穴があるのでちょっと埋めたい。

5章 Kubernetes入門

Kubernetesの最低限のリソーススタックを紹介する意図なので、あんまりモリモリにはしたくはないが、ConfigMapは書いても良かった。あとは痒いところに手が届くInitContainers。

6章 Kubernetesのデプロイ・クラスタ構築

ローカル開発においては今はfreshpod(シンプルだが)よりもSkaffoldでいいでしょうね。

7章 Kubernetesの発展的な利用

KubernetesパッケージマネージメントとしてHelmを紹介した。優れたエコシステムではあるが、サーバーコンポーネントとしてTillerが必要だったり、Chartマネージメントが必要だったりとそこそこ運用に手がかかる。今ならHelmに加えてKustomizeを加筆したい。

KustomizeはTillerのようなサーバコンポーネントは不要となっており、完成形のマニフェストファイルを構築するためのツールとして提供されている。さらに、GitHub上にkustomize.yamlを用意すれば別リポジトリからGitのタグ・リビジョンベースで参照するということが可能になる。

コラムとしてIstioを紹介しているが、最近はもうプロダクションレベルに到達しているのでサービスメッシュの戦略も含めてもう少し厚めに紹介しても良い。

8章 コンテナの運用

監視については触れなかった。DatadogにするのかPrometheusにするのかみたいな話もあるし、やるなら一章追加みたいなレベルになる。それに関しては正直今も悩ましい。

9章 より軽量なDockerイメージを作る

コラムでdistrolessイメージを紹介したが、今だったら一項分の内容を追加しても良い。

あと、最近はDockerfileを使わずにイメージをビルドするスタイルがトレンドになりつつあるので、BazelやJibについての記述も入れたいところ。この章は軽量イメージについての内容なので若干フィットしないかもしれないが、2章に入れる内容としては少し高度なので軽量イメージの流れで紹介してもいいかなと。

Appendixで良い気もするが、kanikoも良い。

10章 Dockerの様々な活用方法

ナシ。

Appendix

Amazon EKSが東京に来たので、EKSクラスタの構築あたりかね・・・(全然楽じゃないので)

まとめ

陳腐化が怖くて本が書けるか。