Slide 1

Slide 1 text

Local Kubernetes Future-Daily-Standup-Meeting Kubernetes Ecosystem Study 2019-08-08 Mano Junki

Slide 2

Slide 2 text

Why Local Kubernetes?

Slide 3

Slide 3 text

ローカル開発環境って大事 • (私見) ローカルでの開発環境が構築できないと、 ”アプリ”の人がキレる • (私見) キャッチアップ用に環境を開放したいが、数十名規模でGCPプロ ジェクトを触らせたくない→費用、セキュリティ漏洩、マイングしだす人 たち、etc. ※私見です

Slide 4

Slide 4 text

What Local Kubernetes?

Slide 5

Slide 5 text

Local Kubernetes • 読んで字のごとく、ローカルのラップトップPCで起動 するKubernetesのこと

Slide 6

Slide 6 text

Local Kubernetes 選択肢 Docker for Windows Docker for Mac MicroK8s minikube kind

Slide 7

Slide 7 text

Docker for Windows

Slide 8

Slide 8 text

Docker • 設定画面からクリック一発で有効化ができる • Installが始まったけど数分くらいで完了しました!

Slide 9

Slide 9 text

どれどれ、kubectlっと…いるぞ!!

Slide 10

Slide 10 text

Tutorialはサクサク動く >kubectl run hello-world --image busybox --restart=Never -- echo hello world pod/hello-world created C:¥> kubectl get pods NAME READY STATUS RESTARTS AGE hello-world 0/1 Completed 0 9s C:¥> kubectl logs hello-world hello world

Slide 11

Slide 11 text

単一コンテナだと面白く無いぞ… (docker runレベルと大差ないし)

Slide 12

Slide 12 text

https://medium.com/@tsuyoshiushio/local-kafka-cluster-on-kubernetes-on-your-pc-in-5-minutes-651a2ff4dcde

Slide 13

Slide 13 text

これはアツイ記事ばい

Slide 14

Slide 14 text

手順その1 • Memory settings • 8GB+ • この時点でLet’s Note詰み • 持ってて良かった16GBマシン

Slide 15

Slide 15 text

どちらにしても詰み…? 3回リトライしたがダメ… 問題切り分けしてないです 自分の環境が悪いだけだと思います

Slide 16

Slide 16 text

MicroK8s

Slide 17

Slide 17 text

MicroK8s • Linux利用前提 • Kubernetesのバージョンが指定可能 • Docker for WindowsはDocker本体のバージョンと固定バージョン • GPUサポートなど

Slide 18

Slide 18 text

Minikube

Slide 19

Slide 19 text

Minikube • VMにシングルノードKubernetesを構築できる • マルチクラスタに対応 • Docker for Windowsはk8sノードが、シングルノードオンリー • GPUサポート

Slide 20

Slide 20 text

Kind

Slide 21

Slide 21 text

Kind • (ググりにくい名前で有名らしい) • マルチノードKubernetesクラスタが構築可能 • 最近アツそう! • k8sノードがVMではなく、コンテナを利用

Slide 22

Slide 22 text

Kind Stack https://kind.sigs.k8s.io/docs/design/initial/

Slide 23

Slide 23 text

Dockerの上のコンテナがk8sノードというスタック Host OS Docker Node Container Node Container Docker Container / kubelet Docker Container / kubelet User Pod User Pod … etcd kube-… … User Pod User Pod … etcd kube-… …

Slide 24

Slide 24 text

まとめ

Slide 25

Slide 25 text

• Docker for Windows • 導入が簡単 • シングルノード • バージョン固定 • MicoroK8s • バージョン選択が可能 • シングルノード • Linux限定 • Minikube • バージョン選択可能 • シングルノード • Kind • バージョン選択が可能 • マルチノード Local Kubernetes特徴 とりあえずKubernetesを試したい →Docker for Windows マルチノードで試したい →Kind …で良いのでは?

Slide 26

Slide 26 text

Local Kubernetes… • 貧者のためのKubernetesだと思っていたが、開発環境がリッチでないと ムズカシイ • 最低16GB + 、推奨32GB+ くらいなイメージ • 単なる開発疎通レベルや、開発環境セットアップであればdocker- composeで代理できないか検討 • kubectl, helmなどの動作検証目的か否かが判断ポイント

Slide 27

Slide 27 text

参考 • https://medium.com/@tsuyoshiushio/local-kafka-cluster-on- kubernetes-on-your-pc-in-5-minutes-651a2ff4dcde • https://speakerdeck.com/masayaaoyama/cloudnativejp-09- kubernetes-in-docker-kind?slide=29

Slide 28

Slide 28 text

Thank you