Slide 1

Slide 1 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Compose on Kubernetes を GKEで動かそう Cloud Native Kansai #03 2019/06/07 @masayuki14

Slide 2

Slide 2 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Masaといいます もりさきまさゆき ✓ @masayuki14 ✓ プロ主夫 フリーランス (パートタイム) ✓ Webエンジニア ✓ データベーススペシャリスト ✓ ✓

Slide 3

Slide 3 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 このアイコン Follow me !!

Slide 4

Slide 4 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 自己紹介 コミュニティ はんなりPython (第3金曜開催@京都) ✓ OSS Gate (京都, 大阪, 東京) ✓ ✓ スプーキーズアンバサダー ✓

Slide 5

Slide 5 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 スプーキーズ@京都 ボードゲーム制作 ✓ ソーシャルゲーム開発 ✓ Web系システム ✓ ゲームクリエイター積極採用中

Slide 6

Slide 6 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 スプーキーズ@京都 モクモクモック(もくもく会) テクテクテック(勉強会) 2019/07 企画中 ISUCONワークショップ - 速度改善 ✓ CTF - セキュリティ ✓ ✓

Slide 7

Slide 7 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 今日の話 Compose on Kubernetesを GKEで動かそう

Slide 8

Slide 8 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Compose on k8s Compose on Kubernetes allows you to deploy Docker Compose fles onto a Kubernetes cluster. [「https://github.com/docker/compose-on- kubernetes」より引用]

Slide 9

Slide 9 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Compose on k8s docker-compose.ymlをk8sクラ スターにデプロイ ✓ 前回のLTで紹介 ✓

Slide 10

Slide 10 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Docker Preferences

Slide 11

Slide 11 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 docker-compose.yml version: '3.3' services: db: image: dockersamples/k8s-wordsmith-db words: image: dockersamples/k8s-wordsmith-api deploy: replicas: 5 web: image: dockersamples/k8s-wordsmith-web ports: - "33000:80"

Slide 12

Slide 12 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 ローカルで実行 $ docker stack deploy \ -c docker-compose.yml \ --orchestrator=kubernetes \ kubesample

Slide 13

Slide 13 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 ローカルで実行 $ docker stack deploy -c docker-compose.yml --orchestrator=kubernetes kubesample Waiting for the stack to be stable and running... words: Ready [pod status: 2/5 ready, 3/5 pending, 0/5 failed] web: Ready [pod status: 1/1 ready, 0/1 pending, 0/1 failed] db: Ready [pod status: 1/1 ready, 0/1 pending, 0/1 failed] Stack kubesample is stable and running $ kubectl get pods NAME READY STATUS RESTARTS AGE db-79b45689db-f49f6 1/1 Running 0 4m web-6b56cf97b9-2rbwg 1/1 Running 0 4m words-6d654698d5-49l8g 1/1 Running 0 4m words-6d654698d5-b9pf7 1/1 Running 0 4m words-6d654698d5-fmp9f 1/1 Running 0 4m words-6d654698d5-xhvfn 1/1 Running 0 4m words-6d654698d5-z6zsf 1/1 Running 0 4m

Slide 14

Slide 14 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Compose on k8s Deploy on GKE

Slide 15

Slide 15 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Install

Slide 16

Slide 16 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Run $ kubectl config use-context gke_beta-4... $ docker stack deploy \ -c docker-compose.yml \ --orchestrator=kubernetes \ kubesample failed to find a Stack API version

Slide 17

Slide 17 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 結果 動かない!! おしまい!!

Slide 18

Slide 18 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Issue 作成 Contribute

Slide 19

Slide 19 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 返信なし 同じ問題に困ってる人はいた ✓ どうしよう(いまここ) ✓

Slide 20

Slide 20 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 わかったこと 本を読もう ✓ レジストリ使おう ✓ Docker/CLI 最新版必要 ✓ GCP $300 トライアル ✓ コントリビュートしよう ✓ 動かすことで理解が深まる ✓

Slide 21

Slide 21 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 本を読もう

Slide 22

Slide 22 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 本を読もう docker, compose, swarm 順序よく学べる ✓ ✓ GCP まわりもわかる gcloud ✓ kubectl ✓ ✓

Slide 23

Slide 23 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 本を読もう Webの情報では不十分 ✓ 入門書として良い ✓ 時間を買うと思えば安い ✓

Slide 24

Slide 24 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう Docker Compose build できる ✓ ✓ Compose on k8s build できない ✓ ✓

Slide 25

Slide 25 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう docker-compose.yml services: app: build: context: ./app dockerfile: Dockerfile build できない

Slide 26

Slide 26 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう docker-compose.yml services: app: image: localhost:5000/sample/app レジストリを指定

Slide 27

Slide 27 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう Dockerレジストリサービス Docker Hub ✓ Quay ✓

Slide 28

Slide 28 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう コンテナでローカルレジストリ $ docker run \ -v $(pwd)/registry:/var/lib/registry \ -p 5000:5000 \ registry:latest

Slide 29

Slide 29 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう build & push $ ls Dockerfile $ docker build -t localhost:5000/sample/app . $ docker push localhost:5000/sample/app

Slide 30

Slide 30 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 レジストリ使おう tag & push $ docker tag app localhost:5000/sample/app $ docker push localhost:5000/sample/app

Slide 31

Slide 31 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Docker/CLI 最新版必要 Important: You will need a custom build of Docker CLI to deploy stacks onto GKE. The build must include this PR which has been merged onto the master branch. [「https://github.com/docker/compose-on- kubernetes/blob/master/docs/install-on-gke.md」よ り引用]

Slide 32

Slide 32 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Docker/CLI 最新版必要 $ docker version stable 18.09.2 ✓ ✓ requirement 19.03 <= ✓ ✓

Slide 33

Slide 33 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Docker/CLI 最新版必要 $ git clone [email protected]:docker/cli.git $ cd cli $ make -f docker.Makefile binary $ make -f docker.Makefile cross $ ./build/docker-darwin-amd64 version

Slide 34

Slide 34 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 Docker/CLI 最新版必要 19.03 is comming soon.

Slide 35

Slide 35 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 GCP $300 トライアル いまなら1年間$300まで使い放題

Slide 36

Slide 36 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 GCP $300 トライアル

Slide 37

Slide 37 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 コントリビュートしよう 困ったことはIssueにあげる 返事があるとは限らない ✓ ✓ バグレポート ✓

Slide 38

Slide 38 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 コントリビュートしよう 解決したらPullRequest ✓ ドキュメントの改善 ハードルが低い ✓ ✓

Slide 39

Slide 39 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 動かすことで理解が深まる GCP はじめての利用 ✓ ✓ Kubernetes 仕組み ✓ Manifest ✓ Resources ✓ ✓

Slide 40

Slide 40 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 動かすことで理解が深まる commands kubectl ✓ docker ✓ gcloud ✓ ✓

Slide 41

Slide 41 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 さいごに To be continued!!

Slide 42

Slide 42 text

Compose on Kubernetes をGKEで動かそう - Cloud Native Kansai #03 Powered by Rabbit 2.2.1 さいごに ありがとう ございました