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

Hello kubernetes

ryosukes
April 27, 2018

Hello kubernetes

「北欧、暮らしの道具店」を運営するクラシコムの月一の社内勉強会、Monthly Hyggeで発表した資料です。

ryosukes

April 27, 2018
Tweet

More Decks by ryosukes

Other Decks in Programming

Transcript

  1. Hello
    Monthly Hygge ver. 3
    2018/04/26
    @ryosukes

    View full-size slide

  2. Profile
    @ryosukes
    - 佐々木 亮祐
    - 33歳
    - 最近よく本を読む
    - 筋肉に目覚め始めてる
    - Nintendo Switchを手に
    入れました
    2

    View full-size slide

  3. Today’s Theme
    3

    View full-size slide

  4. 読んだ
    おもしろかった
    5

    View full-size slide

  5. Agenda
    1. Kubernetesとは何か
    2. 何が嬉しいのか
    3. アーキテクチャをざっくり
    6

    View full-size slide

  6. Agenda
    1. Kubernetesとは何か
    2. 何が嬉しいのか
    3. アーキテクチャをざっくり
    7

    View full-size slide

  7. Kubernetesとは何か
    コンテナ化されたアプリケーションを
    自動デプロイ、スケーリング、自動運用
    するためのオーケストレーションツール
    “k8s” と表記されることもある
    8

    View full-size slide

  8. Kubernetesとは何か
    元々Googleが開発していたものがOSS化
    現在はマイクロソフトやレッドハットも
    開発に参加している
    9

    View full-size slide

  9. Kubernetesとは何か
    サポートしているパブリッククラウドは
    Google Cloud Platform、Azureなど
    AWSはEKSというサービスで対応予定
    現在プレビュー版となっている
    10

    View full-size slide

  10. Agenda
    1. Kubernetesとは何か
    2. 何が嬉しいのか
    3. アーキテクチャをざっくり
    11

    View full-size slide

  11. 何が嬉しいのか
    大きく分けてこの4つ
    - ベロシティ
    - スケーラビリティ
    - インフラの抽象化
    - ハードウェアの効率性
    12

    View full-size slide

  12. ベロシティ
    下記3つの特性によりベロシティ・可用性を
    保つことができる
    - イミュータブル
    - 作成した成果物は変更されない
    - 宣言的設定(yaml)
    - 状態を宣言的に定義 ⇔ 命令的(コマンドと
    か)
    - 自己回復
    - 障害やゆらぎがあってもシステムが自動回復
    する
    13

    View full-size slide

  13. スケーラビリティ
    下記の点でスケールできる
    - サービス・アプリケーション
    - イミュータブルかつ宣言的設定から、レ
    プリカが容易に作れる
    - チーム
    - マイクロサービス化が容易になる
    - コンウェイの法則
    14

    View full-size slide

  14. インフラの抽象化
    クラウドサービスを変更した場合でも、
    宣言的設定があることでポータビリティは保たれ
    たまま。新しいクラスタに宣言的設定を送れば
    いいだけ。
    15

    View full-size slide

  15. ハードウェアの効率性
    - マシンのことを考えなくて良くなる
    - テスト環境作成のコストダウン
    - マシンリソースを余すことなく使える
    など
    16

    View full-size slide

  16. Agenda
    1. Kubernetesとは何か
    2. 何が嬉しいのか
    3. アーキテクチャをざっくり
    17

    View full-size slide

  17. アーキテクチャ
    Kubernetesの登場人物
    - Cluster
    - Node
    - Pod
    - Service
    - Kubelet
    - …他たくさん
    18

    View full-size slide

  18. PodとNodeをメインに
    ざっくり説明します
    19

    View full-size slide

  19. アーキテクチャ
    - Cluster
    - Kubernetes Engineの基盤
    - Pod
    - 複数コンテナのグループの事
    - Node
    - コンテナのホストとなる物理的も
    しくは仮想的マシン
    20

    View full-size slide

  20. アーキテクチャ
    - Service
    - コンテナ間や外部とのやり取り
    の通信を担う
    - Kubelet
    - Podを起動したり再起動したりを
    担うエージェント
    - Volume
    - データの格納先
    21

    View full-size slide

  21. PodとNode
    22

    View full-size slide

  22. アーキテクチャ
    Kubernetesの他の登場人物
    - Label
    - Annotation
    - ReplicaSet
    - DaemonSet
    - Job
    - ConfigMap
    - Secret
    23

    View full-size slide

  23. 量が多すぎるので
    今回はここまで
    24

    View full-size slide

  24. まとめ
    1. k8sを使うことでコンテナ化された
    アプリケーションが運用しやすくな

    2. ベロシティ、スケーラビリティ、イン
    フラの抽象化、ハードの効率性の
    点で幸せになれる
    3. ただし、学習コストは高め
    25

    View full-size slide

  25. ありがとうございました
    26

    View full-size slide