技術書典13でKubernetesのトラブルシューティング本を頒布します

技術書典13で「Kubernetes トラブルシューティング ガイドブック」を頒布します!

クラウド サポート エンジニア直伝の Kubernetes トラブルシューティング虎の巻!

Kubernetes トラブルシューティング ガイドブック:クラウドうぉーりあーず!

Kubernetes トラブルシューティング ガイドブック 技術同人誌(B5サイズ)/ 116 ページ クラウド サポート エンジニア直伝の Kubernetes トラブルシューティング虎の巻! 【こんな本です】 日々クラウドのトラブルシューティングに携わる筆者らが、Kubernetes で起こりうるトラブル事例をまとめました! 本書は、Kubernetes のトラブル事例の要因と対処方法を解説する本です。 トラブル事例ごとに豊富なコマンド例を掲載し、エラーメッセージの読み解き方と対処方法を身につけられる内容となっています。 本書では、特定のクラウド サービスに固有のトラブルシューティング方法ではなく、 Kubernetes そのものが持つ機能や出力されるメッセージを活用して、各種トラブルへ対処する事例を紹介します。 そのため、クラスターが動作しているクラウド環境にかかわらず、ご参考にいただける内容となっています! 【こんな方におすすめ】 本書は Kubernetes のトラブルシューティングに特化した本です。 Kubernetes の基本的な使い方をマスターしたあと、さらに実践で使える調査テクニックを身に着けたい方に本書をお勧めします! ・Kubernetes の運用をはじめて1、2年の初中級者の方 ・Kubernetes の出力するエラーやステータスメッセージを理解したい方 ・Pod や Service、ノードなどの問題発見・解決をしたい方 ・パケットキャプチャーを使用したネットワークのデバッグができるようになりたい方 【目次】 第1章でトラブルシューティングに使用する基本のコマンドやツールを紹介します。 以降の章より、アプリケーション Pod、ネットワーク、ストレージ、クラスター/ノードの観点から トラブル事例と対処方法の紹介をします。 第1章 Kubernetes の基本コマンドと調査ツール  1.1 kubectl コマンド   1.1.1 kubectl get   1.1.2 kubectl describe   1.1.3 kubectl logs   1.1.4 kubectl exec   1.1.5 kubectl run   1.1.6 kubectl top   1.1.7 kubectl port-forward   1.1.8 kubectl debug  1.2 ネットワークパケットのキャプチャーツール   1.2.1 ksniff で特定のPodからパケットをキャプチャーする   1.2.2 tcpdump で特定のノードからパケットをキャプチャーする   1.2.3 dspcap ですべてのノードからパケットをキャプチャーする 第2章 アプリケーション Pod のトラブルシューティング  2.1 kubectl describe pod コマンドの結果を確認する  2.2 [トラブル] Pod が正常に起動しない   2.2.1 CrashLoopBackOff ステータス   2.2.2 ContainerCreating ステータス   2.2.3 CreateContainerConfigError ステータス  2.3 [トラブル] コンテナーイメージの Pull が成功しない   2.3.1 ErrImagePull/ImagePullBackOff ステータス   2.3.2 InvalidImageName ステータス  2.4 [トラブル] Pod がノードにスケジューリングされない   2.4.1 Pending ステータス  2.5 [トラブル] Pod 内で稼働中のコンテナーが再起動する   2.5.1 アプリケーションコンテナーのエラーを確認する   2.5.2 メモリ使用量の増加によるコンテナーの再起動 (OOMKilled ステータス)  2.6 [トラブル] Deployment によるデプロイが成功しないときのトラブルシューティング 第3章 ネットワークのトラブルシューティング  3.1 [トラブル] Service で公開したアプリケーションにアクセスできない   3.1.1 Pod と Service のデバッグ方法   3.1.2 Service へのアクセスが成功しない場合の想定要因  3.2 [トラブル] Serviceに IP アドレスが割り当てられない   3.2.1 サブネットの IP アドレスが不足している   3.2.2 存在しない IP アドレスを指定している   3.2.3 IP アドレスリソースへのアクセス権限がない  3.3 [トラブル] Ingress で公開したアプリケーションにアクセスできない   3.3.1 kubectl describe ingress コマンドの結果を確認する   3.3.2 Ingress のアクセス検証の方法   3.3.3 HTTP レスポンスのステータスコードから想定される要因   3.3.4 Ingress Controller Podのログを確認する  3.4 パケットキャプチャーによるネットワークの調査  3.5 クラスター内 DNS サービスのトラブルシューティング   3.5.1 DNS サービスの構成   3.5.2 DNS による名前解決の検証方法   3.5.3 CoreDNS Pod が動作していない事例   3.5.4 通信制御により DNS リクエストがブロックされている事例 第4章 ストレージのトラブルシューティング  4.1 [トラブル] Volume が Pod にマウントできない   4.1.1 kubectl で Pod/PV/PVC の詳細情報を確認する   4.1.2 Volume 名の誤り   4.1.3 ネットワークの問題   4.1.4 ストレージサーバーに書き込みができない   4.1.5 別のノードで Attach 済みの Disk をマウントしようとしている 第5章 Kubernetes クラスター/ノードのトラブルシューティング  5.1 ノードが不調な場合の暫定対処の方法   5.1.1 ノードへの Pod のスケジューリング停止と解除   5.1.2 ノードから Pod を退避させる (ドレイン)   5.1.3 ノードの空きリソースが不足する場合は新規ノードを追加する  5.2 [トラブル] ノードのドレインが進行しない  5.3 [トラブル] ノードが NotReady ステータスになる   5.3.1 ノードのステータスとログの確認方法   5.3.2 ノードが NotReady ステータスになる想定要因  5.4 [トラブル] ノードのディスク使用量が増加する   5.4.1 Kubernetes ノードでディスクを消費する主な要因   5.4.2 kubelet によるコンテナーイメージのガベージコレクションとログローテーション   5.4.3 ディスクを使用しているコンテナーやファイルの調査  5.5 [トラブル] APIVersion の Warning が表示される 付録 A 困ったときは - オンラインの情報源とコミュニティ

こんな本です

日々クラウドのトラブルシューティングに携わる筆者らが、Kubernetes で起こりうるトラブル事例をまとめました!

本書は、Kubernetes のトラブル事例の要因と対処方法を解説する本です。 トラブル事例ごとに豊富なコマンド例を掲載し、エラーメッセージの読み解き方と対処方法を身につけられる内容となっています。

本書では、特定のクラウド サービスに固有のトラブルシューティング方法ではなく、 Kubernetes そのものが持つ機能や出力されるメッセージを活用して、各種トラブルへ対処する事例を紹介します。 そのため、クラスターが動作しているクラウド環境にかかわらず、ご参考にいただける内容となっています!

こんな方におすすめ

本書は Kubernetes のトラブルシューティングに特化した本です。 Kubernetes の基本的な使い方をマスターしたあと、さらに実践で使える調査テクニックを身に着けたい方に本書をお勧めします!

  • Kubernetes の運用をはじめて1、2年の初中級者の方
  • Kubernetes の出力するエラーやステータスメッセージを理解したい方
  • Pod や Service、ノードなどの問題発見・解決をしたい方
  • パケットキャプチャーを使用したネットワークのデバッグができるようになりたい方

なぜこの本を書いたのか

Kubernetes では、各リソースの状態についてイベント (メッセージ) が出力されるようになっています。 一見複雑そうな Kubernetes クラスターも、出力されたメッセージを読み解いていくことで、トラブルが発生した際の要因発見や調査観点の絞り込みに役立つということを皆さんに知ってもらいたいと思い、本書を執筆しました。

この本は、会社で同じチームの ozashu さんとの共著です。 クラウドのサポート エンジニアとして、日々 Kubernetes のトラブルシューティングに携わる中で、トラブルシューティングの知見がまとまった本があったら面白そうだよねという会話から企画がスタートしました。 トラブルシューティングにおいて、サポート エンジニアがどのような点に着目しているのかについても興味を持っていただけたらうれしいです。

さいごに

今回の執筆にあたっては、会社のチームの方にレビューのご支援をいただきました。 また、印刷所ねこのしっぽさんには、入稿にあたって丁寧なサポートをいただきました。 みなさま本当にありがとうございました。

それでは、当日は【か09】サークル「クラウドうぉーりあーず!」にてお待ちしております!

クラウドうぉーりあーず! | 技術書典

クラウド技術に興味があるメンバーで集まったサークルです

comments powered by Disqus