Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetesで作る_LessOps_なインフラ.pdf

24606216ae4bbee28494552cb71cc220?s=47 yosshi_
August 06, 2018

 Kubernetesで作る_LessOps_なインフラ.pdf

24606216ae4bbee28494552cb71cc220?s=128

yosshi_

August 06, 2018
Tweet

More Decks by yosshi_

Other Decks in Technology

Transcript

  1. Kubernetesで作る 「Less Ops」なインフラ Kubernetes初⼼者向け 〜SIer⾵味〜

  2. ⾃⼰紹介 n吉村 翔太(yoshimura shota) nNTTコミュニケーションズ所属 nインフラエンジニア/データエンジニアリング nDocker/k8sは4ヶ⽉くらい 他はkafka、hadoop、spark、presto etc n趣味はボードゲーム

  3. ⽬次 1. Less Opsなインフラとは 2. Kuberntesでの作り⽅ 3. IT投資の今後 4. 新しい分野の勉強⽅法

  4. 第1章 Less Opsなインフラとは

  5. エンジニアのしたいこと ビジネスのアイデアを実現する システムを作りたい 思いついたアイデアを 今すぐ試したい!!

  6. そのために より早く 価値の⾼いものを たくさん提供したい

  7. ⽬指すもの Less Ops 、More Code nOpsは⾃動化してcoffee break n付加価値を出すCodeにより注⼒ Code Ops

    code Ops ⼈⽉単価のビジネスで 2重、3重チェックって ⽣産性も下がって地獄では? リスペクトしてるプレゼン< https://www.slideshare.net/YoshidaShingo/thefuturewillbeserverless >
  8. これらのワードも向かってる⽅向は同じ

  9. Less Ops なインフラって何? n Sel Healing(故障発⽣時のサービス無影響+⾃⼰修復) n In-Flight Renewing(サービス無停⽌メンテナンス) n

    Adaptive Scale(⾃律的なリソースの調整) 故障時に⾃動で復旧してほしい 呼び出されたくない システムを⽌めずにアップデートしたい 休⽇の夜中に作業したくない 負荷に応じて⾃動でスケールしてほしい 需要予測とか無理
  10. 第2章 Kuberntesでの作り⽅

  11. Kubernetesの前にコンテナの良さを語る n軽量(VMと⽐⽐べて) n実⾏環境の隔離性が⾼い(物理に⽐べて) nポータビリティ(物理に⽐べて) ホストOS 物理サーバ AP AP ホストOS 物理サーバ

    AP AP ホストOS 物理サーバ AP 仮想サーバ 仮想サーバ 仮想OS 仮想OS コンテナ AP コンテナ 物理 VM コンテナ
  12. Kubernetes(k8s)とは nDocker戦争の覇者 n2017年10⽉ Docker社がk8sのサポートを発表を契機に コンテナオーケストレーションの覇権を握る VS 参考< https://www.publickey1.jp/blog/17/post_265.html >

  13. コンテナ コンテナオーケストレーションとは nコンテナを適切なノード (サーバ) に⾃動で配置してくれる k8s Cluster node node master

    API Server node コンテナ
  14. k8sの機能を使ってLess Opsなインフラを作ってみよう n教材に使うのはGitLab n構成はこんな感じ アプリケーション DB キャッシュ スケールの単位毎にコンテナ化する 参考< https://docs.gitlab.com/ce/install/docker.html#omnibus-gitlab-based-images

    >
  15. GitLab ”Service” ”replicas”編 nService Podへのルーティングの設定 nReplicas 配置するPod数の設定 Pod Pod Pod

    Service k8s Cluster ※ 「Pod」はk8sでのコンテナの呼び⽅ nReplicas数を2->3にすると、Podが増える nPodへのルーティングも⾃動 結果
  16. GitLab ”Horizontal Pod Autoscaler”編 nHorizontal Pod Autoscaler CPU/メモリ等の使⽤率に応じて Replicas数を⾃動管理 Pod

    Pod Pod Service k8s Cluster 結果 n負荷が増えると勝⼿にPodも増える nAdaptive Scale(⾃律的なリソースの調整) 参考< https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ >
  17. GitLab ”Cluster Autoscaler”編 k8s Cluster 結果 n負荷が増えると勝⼿にノードも増える nAdaptive Scale(⾃律的なリソースの調整) node

    node master node 参考< https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler > (注意) クラウドのみ。勝⼿に予算を確保して、購買契約をして、ラック確保してキッティングくれるツールは未だ存在せず nCluster Autoscaler CPU/メモリ等の使⽤率に応じて ノード数を⾃動管理
  18. GitLab ”Rolling Update”編 nRolling update ローリグアップデートする Pod Pod Pod Service

    k8s Cluster n⾃動で新しいPodに切り替えてくれる nIn-Flight Renewing(サービス無停⽌メンテナンス) 結果 New 参考< https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/ >
  19. GitLab ”Liveness” “Readiness”編 nLiveness(死活監視、プロセス監視相当) 死活監視してだめたったら ⾃動でPodを作り直す nReadiness(サービス監視相当) サービス監視してだめなやつはルーティングしない (LBのヘルスチェックみたいな) n故障を⾒つけたら⾃動で復旧してくれる

    nSel Healing(故障発⽣時のサービス無影響+⾃⼰修復) 結果 参考< https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ > HTTPリクエストとかコマンドが設定できる
  20. Redis 編 nクラスタを組む? redis⾃⾝がクラスタ組める nクラスタを組まずに1個だけでも どうせキャッシュだしケアしなくても Pod Pod Pod Service

    k8s Cluster nクラスタを組めばSel Healingと⾔えなくも無い n故障時のレスポンスの低下を許容するならPod1個でも 結果
  21. Postgresql編 nk8sでももちろん作れる コンテナはデータの永続化が苦⼿ 垂直スケールをコンテナ化する? nマネージドサービスを使う k8sだとマネージドサービスのと 組み合わせが考慮されてる Pod k8s Cluster

    nマネージドサービスを活⽤して運⽤コストを下げる 結果 public cloud 参考< https://cloud.google.com/sql/docs/postgres/connect-container-engine?hl=ja >
  22. k8sの振り返り 特徴 n全てYAML形式で設定。コマンドラインで操作可能 => インフラのCI/CDが⽤意 設計⽅針 nコンテナは”Stateless”& “Shared nothing”で設計 n上記以外のものはマネージドサービスの活⽤を検討

  23. 第3章 IT投資の今後

  24. IT予算額増減傾向の経年変化(2015〜2018年度予想) 参考< https://www.itr.co.jp/company/press/17100501PR.html > 投資意欲は 横ばいか上向き

  25. 国内ITサービス市場 ⽀出額予測: 2017年〜2022年 参考< https://www.idcjapan.co.jp/Press/Current/20180226Apr.html > 緩やかに成⻑しそう

  26. IT⼈材の需給に関する推計 経済産業省 参考< http://www.meti.go.jp/press/2016/06/20160610002/20160610002.html > IT需要は伸びて ⼈材は不⾜しそう 今までの オペレーションのままだと 職場がブラック化しそうな予感

  27. 基幹系と情報系について思うこと カスタマイズが、システム統合や更改の 障害になりやすいので抑⽌⽅向に進むと思われる 項⽬ 基幹系システム 情報系システム 対象 財務会計、⽣産管理、⼈事給与 etc データ分析、AI、IoT

    etc 所感 充分に普及したので、リプレース中⼼ 新規の投資は少ないのでは? まだ分からない事が多いけど やってみたい分野 投資予想 横ばい or 微減 急増? 全体として微増としても、投資の内訳としてはこんな感じではと予想
  28. 基幹業務システムのITインフラ導⼊状況と次期更新での採⽤意向 基幹系システムのリプレースも 中⾝はクラウドへの移⾏が中⼼かな? 参考< https://www.idcjapan.co.jp/Press/Current/20180412Apr.html > 今の保守契約が7年だとすると 7年後の世界は、半分がクラウド??

  29. 製品/サービスに対する投資意欲(OS/ミドルウェア分野) 情報系システム、Less Ops あたりは今後意欲的に投資が 進む予感 情報系システムっぽい Less Opsっぽい 参考< https://www.itr.co.jp/company/press/17100501PR.html

    >
  30. IT投資の拡がりと特徴 項⽬ 伝統的なIT投資 新たなIT投資 ⽬的 コスト削減 付加価値の向上 対象領域 SoE(System of

    Record) SoR(System of Engagement) IT投資の形態 プロジェクト プロダクト・サービス オーナー 情報システム部⾨ 事業部⾨ インフラへの期待 信頼性・堅牢性 拡張性・柔軟性 開発形態 ITベンダーへの外注 ユーザ企業内での内製 パートナリング ⼈材の役割 分業・専⾨特化 フルスタック 対象業務 予測可能 探索型 データ 構造 ⾮構造 参考< https://www.ipa.go.jp/jinzai/itss/itssplus.html > 今後、投資が進むのは こっち側だよね 今までの外注モデルが 通⽤しない 新しい収益モデルの構築 がSIer(CIer)の課題?
  31. 第4章 新しい分野の勉強⽅法

  32. Kubernetes学び⽅ n基本動作 n公式ドキュメントを読む< https://kubernetes.io/ > nGithubのissueを読む< https://github.com/kubernetes/kubernetes/issues > n触って⾒る nGKE<

    https://cloud.google.com/kubernetes-engine/docs/ > n⾟くなってきたら nQiitaで記事を探す< https://qiita.com/ > nKubeConの動画を⾒る< https://www.youtube.com/playlist?list=PLj6h78yzYM2N8GdbjmhVU65KYm_68qBmo> n本を読む Kubernetes完全ガイド <2018/9/21発売予定> ⼊⾨ Kubernetes <発売済み> Docker/Kubernetes 実践コンテナ開発⼊⾨ <2018/8/25発売予定>
  33. 外に出て仲間を⾒つける 〜k8s関連のMeetUp〜 nKubernetesMeetup Tokyo nhttps://k8sjp.connpass.com/ nDocker Meetup Tokyo nhttps://dockerjp.connpass.com/ nCloud

    Native Meetup Tokyo nhttps://cloudnative.connpass.com/ nCloud Native Developers JP nhttps://cnd.connpass.com/