Kubernetes The Hard Way の紹介1. Copyright © NTT COMWARE CORPORATION 2017
Kubernetes The Hard Way
の紹介
立石 勝之
NTTコムウェア
ビジネスインキュベーション部
技術開発部門
Kubernetes Meetup Tokyo #5 LT
2017/06/27
Kubernetes(R)はThe Linux Foundationの登録商標です。
その他、記載されている会社名、製品名、サービス名は各社の商標または登録商標です。
2. Copyright © NTT COMWARE CORPORATION 2017
自己紹介
名前: 立石勝之 / @ktateish
仕事:
● オープンソースプロダクトの検証・社内推進・NTTグルー
プ向けテクニカルサポート
● CSIRT的活動
● OpenStack 運用・監視改善
● デザイン思考を用いた新ビジネス創出 (現在)
3. Copyright © NTT COMWARE CORPORATION 2017
K8sクラスタ、どうやってデプロイしてますか?
● ./cluster/kube-up.sh
● kops
● kubeadm
● kargo
● kubernetes-anywhere
● GKE
4. Copyright © NTT COMWARE CORPORATION 2017
K8sクラスタ、どうやってデプロイしてますか?
● ./cluster/kube-up.sh
● kops
● kubeadm
● kargo
● kubernetes-anywhere
● GKE
● ゼロから自分で
5. Copyright © NTT COMWARE CORPORATION 2017
ゼロから自分でやるの大事
● オペレーティング・システムを30日で作ってみたり
● NAND回路からテトリスまで作ってみたり
● Lispのインタプリタやコンパイラを作ってみたり
実用上は必要ないかもしれないけど、対象についての理解が
深まる。
6. Copyright © NTT COMWARE CORPORATION 2017
ゼロから自分でやるの大事
● オペレーティング・システムを30日で作ってみたり
● NAND回路からテトリスまで作ってみたり
● Lispのインタプリタやコンパイラを作ってみたり
実用上は必要ないかもしれないけど、対象についての理解が
深まる。
何より楽しい。
7. Copyright © NTT COMWARE CORPORATION 2017
K8s をゼロから自分でデプロイするには
● 各種デプロイツールの中身を読み解く
○ 逐次実行する手順として読むためのものではなくつらい
● 公式ドキュメント
○ 対象とする環境がいろいろ
■ 初心者が選ぶにはつらい
8. Copyright © NTT COMWARE CORPORATION 2017
K8s をゼロから自分でデプロイするには
● 各種デプロイツールの中身を読み解く
○ 逐次実行する手順として読むためのものではなくつらい
● 公式ドキュメント
○ 対象とする環境がいろいろ
■ 初心者が選ぶにはつらい
● Kubernetes The Hard Way
10. Copyright © NTT COMWARE CORPORATION 2017
“The Hard Way”?
Goo 辞書 (ランダムハウス英和大辞典 ) より引用
11. Copyright © NTT COMWARE CORPORATION 2017
Kubernetes The Hard Way とは
● Google のデベロッパー・アドボケイト
Kelsey Hightower氏によるドキュメント
● Kuberentesをゼロから動かすためのチュートリアル
● GitHub上で公開されている
○ https://github.com/kelseyhightower/kubernetes-the-hard-way/
○ または kubernetes the hard way で検索
● GCE環境前提で書かれてはいるが、AWS, オンプレなど
への読み替えは簡単
12. Copyright © NTT COMWARE CORPORATION 2017
Kubernetes The Hard Way の大まかな内容
1. VMを準備
2. CA, 証明書を準備
3. etcd クラスタをデプロイ
4. controllerノード(kube-{apiserver, controller-manager, scheduler})デプロイ
5. workerノード(kubelet, kube-proxy)をデプロイ
6. コンテナ用ルーティング設定
7. DNS Add-onデプロイ
13. Copyright © NTT COMWARE CORPORATION 2017
例えば・・・
Kubernetes The Hard Way, Bootstrapping a H/A etcd cluster より引用
14. Copyright © NTT COMWARE CORPORATION 2017
効果
● 沢山のコンポーネントを手動でセットアップする必要が
あって苦労する
● 設定などでミスって動かないこともしばしば
● 欲しい機能がドキュメントでカバーされない
15. Copyright © NTT COMWARE CORPORATION 2017
効果
● 沢山のコンポーネントを手動でセットアップする必要が
あって苦労する
● 設定などでミスって動かないこともしばしば
● 欲しい機能がドキュメントでカバーされない
まさに The Hard Way
16. Copyright © NTT COMWARE CORPORATION 2017
効果
● 沢山のコンポーネントを手動でセットアップする必要が
あって苦労する
● 設定などでミスって動かないこともしばしば
● 欲しい機能がドキュメントでカバーされない
楽しい。
17. Copyright © NTT COMWARE CORPORATION 2017
効果
● 沢山のコンポーネントを手動でセットアップする必要が
あって苦労する
→ 重要なコンポーネントを把握できる
● 設定などでミスって動かない
→ トラブルシュートに慣れる
● 欲しい機能がドキュメントでカバーされない
→ 次にやるべきことが見えてくる
18. Copyright © NTT COMWARE CORPORATION 2017
注意
● 本当にドキュメントどおりやっても、うまく動かない場合が
ある
○ kubectl get componentstatuses でetcdがUnhealthy
に見える → 無視してOK
○ kubectl exec に失敗する → kube-apiserver の引数から
--kubelet-certificate-authority を削除(ただし意
味を把握してから)
● GitHub の Issue を検索しよう!
19. Copyright © NTT COMWARE CORPORATION 2017
こんな人におすすめ
● K8sを運用するインフラエンジニア
○ K8sそのものへの理解・習熟
○ マルチクラウド用デプロイツールの元ネタ
○ 新メンバーの入門
● 各種デプロイツールの中身を詳しく知りたい人
他にも良いドキュメントあるよ、とかあったら、
ぜひ教えてください