Slide 1

Slide 1 text

Rancher と GitLab の K8Sインテグレーションの違い 株式会社スタイルズ 矢野 哲朗 2018年6月21日

Slide 2

Slide 2 text

自己紹介 経歴 : システム運用 10年・ネットワーク 6年・SI 8年 近頃はownCloud 営業、翻訳を担当 Rancherの好きな機能 : その他 : 全く上達しないRubyist 一番最初のPCは、OKI if-800 でした…。 矢野 哲朗 tetsurow.yano 株式会社スタイルズ 1

Slide 3

Slide 3 text

今日のAgenda 2 これを15分で…。 1. Rancher と GitLab 2. ビルドとデプロイに必要なもの 3. GitLabでのビルドデプロイ 4. Rancherでのビルドデプロイ 5. まとめ

Slide 4

Slide 4 text

本日の私のミッションは以下を覚えてもらう! 3 GitLabとRancherはズッ友 覚えて帰ってください おぼえて帰っていただいて、是非、同僚、上司、部下に伝えてください

Slide 5

Slide 5 text

昔々あるところに 4

Slide 6

Slide 6 text

5 Rancher とGitLab を組み合わせると Registry

Slide 7

Slide 7 text

最強コンビだったのです! 6 とても仲良く仕事を分けやってやっていました

Slide 8

Slide 8 text

ところが、GitLabさんが、10.0で....。 7 2017年9月22日、Auto DevOps を発表! Kubernetesへのデプロイを表明しました

Slide 9

Slide 9 text

さらに、Rancherさんも2.0で....。 8 2017年9月26日、Kubernete 対応のRancher 2.0(この時まだBeta)を発表!

Slide 10

Slide 10 text

えーと???? 9 控えめに言えば戦争勃発

Slide 11

Slide 11 text

10 2. Rancher とGitLab こんな感じ Registry 世界制覇をたくらむ 既存 既存 世界制覇をたくらむ

Slide 12

Slide 12 text

双方が持っている情報を整理してみましょう 11  世の中必要な情報を握っているものが勝つといわれます では、それぞれが握っている情報を比べてみましょう ソース コード コンテナ イメージ K8S 情報 GitLabはここを 狙っている

Slide 13

Slide 13 text

これは、、 12 控え目に言って Rancherは分が悪い

Slide 14

Slide 14 text

いやいや、Rancherにも良いところある 13 Kubernetes ユーザー管理 /認証 Kubernetes UI/Hook Kubernetes 監視/ アラート

Slide 15

Slide 15 text

双方が持っている情報を整理してみましょう 14  世の中必要な情報を握っているものが勝つといわれます では、それぞれが握っている情報を比べてみましょう ソース コード コンテナ イメージ K8S 情報 Kubernetes ユーザー管理 /認証 Kubernetes UI/Hook Kubernetes 監視/ アラート GitLabはここも 狙っている

Slide 16

Slide 16 text

これは、、 15 牛さん、大ピンチ もうダメかもしれん....

Slide 17

Slide 17 text

ちょっと、冷静になりましょう 16 デプロイする状況を考えます

Slide 18

Slide 18 text

GitLabがデプロイする場合 17 ソース コード コンテナ イメージ Push Build Pull .gitlab-ci.yml K8S 情報 マニフェストファイルは作っておく

Slide 19

Slide 19 text

Rancherがデプロイする場合 18 ソース コード コンテナ イメージ Kubernetes PipelineHook Jenkins Push Build Pull Action Hook Kubernetes ユーザー管理 /認証

Slide 20

Slide 20 text

結局ここにあるのは、 19 これの問題はここにあるのでは? デプロイするのは、 ・Devの責任か? ・Opsの責任か?

Slide 21

Slide 21 text

結局ここにあるのは、 20 DevOps問題

Slide 22

Slide 22 text

Dev側の問題 21 Devがデプロイまです る必要があるのか

Slide 23

Slide 23 text

Ops側の問題 22 OpsがGitLabのUIを 使う必要があるのか

Slide 24

Slide 24 text

23 2. Rancher とGitLab こんな感じ Registry 既存 既存 これらはレイヤーが違う話 なのではなかろうか??

Slide 25

Slide 25 text

なのであれば、 24 実はかぶらない?

Slide 26

Slide 26 text

ということは、結論 25 GitLabとRancherはズッ友

Slide 27

Slide 27 text

でも比較してみる 26 Pros(長所) Cons(短所) GitLab ・ソースコードとビルドは得意 ・Dockerイメージも入るので便利 ・デプロイもできる ・パイプラインも洗練されている(統合感 が高い) ・manifestファイルで管理 ・Kubernetesのユーザー管理はできない ・manifestをUIから変更できない ・コンテナーの状況を見るUIがない ・ユーザー管理に困る(GitLabプロジェクトにユ ーザーを入れる?) Rancher 2.0 ・Kubernetesのワーカーを管理できる ・ユーザー管理ができる ・manifestファイルを直接編集不要(賛否 あり) ・configMap/Secretの管理も可能 ・PhysicalVolumeの管理もできる ・マルチクラウドは便利 ・パイプラインは非常に難しい(シームレス感が ない) ・プライベートリポジトリーがない

Slide 28

Slide 28 text

ちなみに、 27 それぞれ、どんな挙動をするのか?

Slide 29

Slide 29 text

GitLabがデプロイする場合の動作 28 ソース コード コンテナ イメージ Hook 2.Push K8S 情報 .gitlab-ci.yml 1. コンテナー内でビル ドする 2. ビルドしたイメージ をリポジトリにPush 3. デプロイするkubectl が入ったコンテナー でKubernetesに対し てkubectl で デプロイ ※1 https://gitlab.com/gitlab-examples/ruby-openshift-example/blob/master/.gitlab-ci.yml ※2 https://gitlab.com/gitlab-examples/openshift-deploy/blob/master/deploy ビルド コンテナ コンテナー イメージ 1.Build デプロイ コンテナ 取得 コンテナ イメージ 3.Deploy

Slide 30

Slide 30 text

Rancherがデプロイする場合 29 ソース コード コンテナ イメージ Kubernetes PipelineHook Jenkins Push Build Pull Action Hook Kubernetes ユーザー管理 /認証 すみません、Rancher の Pipeline は情報が少なすぎて 実は、こちらは想像図です。

Slide 31

Slide 31 text

こういうPipelineを組めるはずですが未検証 30 ちゃんと動くかどうかも分からないので お勧めしません そういう意味でもズッ友なのです ひどいオチですみません

Slide 32

Slide 32 text

クドいようですが、 31 GitLabとRancherはズッ友 覚えて帰ってください

Slide 33

Slide 33 text

ご清聴 ありがとうございました。 32