Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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