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を実施していて、そこで発表しました。

Junki Mano

August 08, 2019
Tweet

More Decks by Junki Mano

Other Decks in Technology

Transcript

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

    View Slide

  2. Why Local Kubernetes?

    View Slide

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

    View Slide

  4. What Local Kubernetes?

    View Slide

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

    View Slide

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

    View Slide

  7. Docker for Windows

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. MicroK8s

    View Slide

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

    View Slide

  18. Minikube

    View Slide

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

    View Slide

  20. Kind

    View Slide

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

    View Slide

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

    View Slide

  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-…

    View Slide

  24. まとめ

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  28. Thank you

    View Slide