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

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

 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 Sapporo for Beginners主催者。 • システム・アーキテクト • ソフトウェア・エンジニア • オフショアラボ・チームリーダー • スーツが普段着。私服が正装 • 外で自分の好きな事をお話する人 • 札幌か福岡にしか住みたくない人 Twitter :@hirokimatsumo13
  2. Kubernetes Sapporo for Beginners なぜ マイクロサービス? 背景 • プロダクトではなく、プラットフォームとサービス。 •

    マルチベンダー体制での請負開発 • 色々な仕事上の制約 • 進化的設計 変えたかったこと チーム毎(ベンダーさん)毎に、[ 作るもの≒動くもの ] を明確に切り分けたい。 • サービスを分散できる仕組み • サービスを分散しても、運用する人・開発する人の手間がかからない仕組み
  3. Kubernetes Sapporo for Beginners どうやってマイクロサービス? 知っておいた方が良いこと。 • 12 Factor App

    ◦ コンテナ環境だと多分、知らないと後々痛い目に合う。 • Git Ops + CI/CD ◦ 無いと辛いと思う。最初に用意した。 • コンウェイの法則 ◦ いきなり順調にはいかない。 ◦ 「あれ?こんな形目指してたっけ?」と思ったら、再度振り返る。
  4. 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
  5. Kubernetes Sapporo for Beginners 振り返り > 札幌に住むITエンジニアの在り方について悩んでる人に、> すこしでもヒント を与えることができたらと思います。 大規模の開発案件においても、ニアショアや東京の下請けという形だけではな

    く、エンジニアそのものの力を発揮できるカタチでお仕事ができる可能性がマイ クロサービスにはあります。 ※注意:マイクロサービスは開発組織論。
  6. Kubernetes Sapporo for Beginners 課題 Kubernetesだって完璧じゃない。 • Ingress Controller( nginx/GCLB

    )は結構ものによって動きが違う。 ※ローカルでこれで設定したい!→ GCLBだとできない。  でもDSRで動かしたい…。 • 唐突なバグ。( どっちかというとGKEかも ) マイクロサービスだから完全なる統制を求めない。