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

Kubernetesを使ったエンタープライズ開発/Kubernetes-for-Enterprise-Development

 Kubernetesを使ったエンタープライズ開発/Kubernetes-for-Enterprise-Development

Hiroki Matsumoto

April 25, 2019
Tweet

More Decks by Hiroki Matsumoto

Other Decks in Technology

Transcript

  1. Kubernetes Sapporo for Beginners
    Kubernetesを使った
    エンタープライズ開発
    ~ Cloud Native Sapporo #02 ~

    View Slide

  2. Kubernetes Sapporo for Beginners
    自己紹介
    松本 宏紀 ( まつもと ひろき )
    ● Kubernetes Sapporo for Beginners主催者。
    ● システム・アーキテクト
    ● ソフトウェア・エンジニア
    ● オフショアラボ・チームリーダー
    ● スーツが普段着。私服が正装
    ● 外で自分の好きな事をお話する人
    ● 札幌か福岡にしか住みたくない人
    Twitter :@hirokimatsumo13

    View Slide

  3. Kubernetes Sapporo for Beginners
    はじめに
    札幌に住むITエンジニアの在り方について悩んでる人に、す
    こしでもヒントを与えることができたらと思います。

    View Slide

  4. Kubernetes Sapporo for Beginners
    今メインとしている環境
    コンテナ環境。Kubernetes。

    View Slide

  5. Kubernetes Sapporo for Beginners
    なぜ Kubernetes?
    マイクロサービスで開発したかったから。

    View Slide

  6. Kubernetes Sapporo for Beginners
    なぜ マイクロサービス?
    背景
    ● プロダクトではなく、プラットフォームとサービス。
    ● マルチベンダー体制での請負開発
    ● 色々な仕事上の制約
    ● 進化的設計
    変えたかったこと
    チーム毎(ベンダーさん)毎に、[ 作るもの≒動くもの ] を明確に切り分けたい。
    ● サービスを分散できる仕組み
    ● サービスを分散しても、運用する人・開発する人の手間がかからない仕組み

    View Slide

  7. Kubernetes Sapporo for Beginners
    どうやってマイクロサービス?
    A社 B社 BL東京内製 BL札幌内製
    Kubernetes
    契約 課金 帳票 ファイル
    顧客 整備 車両
    C社

    View Slide

  8. Kubernetes Sapporo for Beginners
    どうやってマイクロサービス?
    知っておいた方が良いこと。
    ● 12 Factor App
    ○ コンテナ環境だと多分、知らないと後々痛い目に合う。
    ● Git Ops + CI/CD
    ○ 無いと辛いと思う。最初に用意した。
    ● コンウェイの法則
    ○ いきなり順調にはいかない。
    ○ 「あれ?こんな形目指してたっけ?」と思ったら、再度振り返る。

    View Slide

  9. Kubernetes Sapporo for Beginners
    CIとCD
    僕たち、CD(継続的デリバリ)はしんどいです。
    apps git repository (origin)
    develop
    git repository (local)
    Docker Desktop or local
    Docker Desktopの必要性
    ● コンパイル環境無い人 (えっ?)
    ● LB挟んでフロントエンド、バック
    エンド色々動かしたい人
    ● DB関係も全部コンテナ
    Itb環境
    k8s manifest git repository
    Kubernetes
    gitlab-runner
    gitlab-runner
    ST環境
    k8s manifest git repository
    Kubernetes
    gitlab-runner
    Production環境
    k8s manifest git repository
    Kubernetes
    gitlab-runner
    gitlab-runner gitlab-runner
    Commit
    Merge
    Commit
    Merge
    rc01
    Commit
    Merge
    staging環境もあるけど省略
    Build
    Test
    Build
    Test
    Build
    Test
    master
    Review
    Merge
    Review
    Merge Review
    Merge
    開発系:完全ソース連動
    運用系:ちょっと貯め込む。
        承認下りたらマージ。
    IT統制大事。
    apply apply apply

    View Slide

  10. Kubernetes Sapporo for Beginners
    振り返り
    > 札幌に住むITエンジニアの在り方について悩んでる人に、> すこしでもヒント
    を与えることができたらと思います。
    大規模の開発案件においても、ニアショアや東京の下請けという形だけではな
    く、エンジニアそのものの力を発揮できるカタチでお仕事ができる可能性がマイ
    クロサービスにはあります。
    ※注意:マイクロサービスは開発組織論。

    View Slide

  11. Kubernetes Sapporo for Beginners
    課題
    Kubernetesだって完璧じゃない。
    ● Ingress Controller( nginx/GCLB )は結構ものによって動きが違う。
    ※ローカルでこれで設定したい!→ GCLBだとできない。
     でもDSRで動かしたい…。
    ● 唐突なバグ。( どっちかというとGKEかも )
    マイクロサービスだから完全なる統制を求めない。

    View Slide

  12. Kubernetes Sapporo for Beginners
    最後に
    ( 比較的 ) 初心者向けの勉強会開催してます。
    https://kubernetes-sapporo-for-beginners.github.io/

    View Slide