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

Local_Kubernetes.pdf

 Local_Kubernetes.pdf

社内LT用に作成したGitOpsの概要資料です

チームのDaily Standup Meeting後に、持ち回りでKubernetes周りのエコシステムやツールについて調べて共有する5分間のLTを実施していて、そこで発表しました。

0e6d6c941ee392a1670b8b10308d17e4?s=128

Junki Mano

August 08, 2019
Tweet

Transcript

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

  2. Why Local Kubernetes?

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

    ※私見です
  4. What Local Kubernetes?

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

  6. Local Kubernetes 選択肢 Docker for Windows Docker for Mac MicroK8s

    minikube kind
  7. Docker for Windows

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

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

  10. 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
  11. 単一コンテナだと面白く無いぞ… (docker runレベルと大差ないし)

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

  13. これはアツイ記事ばい

  14. 手順その1 • Memory settings • 8GB+ • この時点でLet’s Note詰み •

    持ってて良かった16GBマシン
  15. どちらにしても詰み…? 3回リトライしたがダメ… 問題切り分けしてないです 自分の環境が悪いだけだと思います

  16. MicroK8s

  17. MicroK8s • Linux利用前提 • Kubernetesのバージョンが指定可能 • Docker for WindowsはDocker本体のバージョンと固定バージョン •

    GPUサポートなど
  18. Minikube

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

    GPUサポート
  20. Kind

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

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

  23. 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-… …
  24. まとめ

  25. • Docker for Windows • 導入が簡単 • シングルノード • バージョン固定

    • MicoroK8s • バージョン選択が可能 • シングルノード • Linux限定 • Minikube • バージョン選択可能 • シングルノード • Kind • バージョン選択が可能 • マルチノード Local Kubernetes特徴 とりあえずKubernetesを試したい →Docker for Windows マルチノードで試したい →Kind …で良いのでは?
  26. Local Kubernetes… • 貧者のためのKubernetesだと思っていたが、開発環境がリッチでないと ムズカシイ • 最低16GB + 、推奨32GB+ くらいなイメージ

    • 単なる開発疎通レベルや、開発環境セットアップであればdocker- composeで代理できないか検討 • kubectl, helmなどの動作検証目的か否かが判断ポイント
  27. 参考 • 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

  28. Thank you