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

初心者でもKubernetesを体験しよう

B9af09b28f6a47a055a1e15d59037266?s=47 motuo1201
April 26, 2019

 初心者でもKubernetesを体験しよう

IBM Cloud Community Summit 発表資料

B9af09b28f6a47a055a1e15d59037266?s=128

motuo1201

April 26, 2019
Tweet

Transcript

  1. bmxug.tokyo 初心者でも体験できる! kubernetes on IBM Cloud bmxug.tokyo @Yousuke Enomoto

  2. bmxug.tokyo Speaker Motuo 普段は千葉県某所の物流系企業で社内SEしています。 汎用機開発・PHP果ては社内PCのキッティングまでも全部やる雑食系。得意 分野はPHP(Laravel)を使ってのWeb開発。 IBM Cloudとの出会いは、Laravelをデプロイする先として選んだPaaS。クレ ジットカード情報不要の、ライトアカウントが作れることと、簡単にCI/CDまでの 環境構築ができることに感動して、IBM

    Cloudに触れるようになりました。 2019年IBM Champion(Cloud)を頂きました!
  3. bmxug.tokyo bmxug.tokyo - IBM Cloud PaaSをもっと使いこなしたい、分からないことを解決したいという目 的で始まったコミュニティ。(月1で勉強会を開催) - 勉強会のテーマに縛りはありません。 -

    Laravelの話題も大歓迎。 (最近の活動実績) - 10/3 開発相談会#4 : IBM CloudFunction/Laravel - 11/7 開発相談会#5 : DevOps(CI/CD,Test) - 1/16 Docker/Kubernetes - 2/6 Code Patterns - 3/6 Code Patterns(その2)
  4. bmxug.tokyo ここからが本題

  5. bmxug.tokyo まずはKubernetes(K8s)をザックリ理解しよう 【出典】 https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#what-does-kubernetes-mean-k8s - Googleが中心となって開発したコンテナを統合 して管理するツール - 複数のホストを跨いだ構成も、上手く制御でき る。

    - オートスケールやコンテナの自動回復にも対応 している。 - 様々な部品を独立したコンテナで構築できるの で、マイクロサービスに適している。
  6. bmxug.tokyo メリット(一部)を並べてみる • コンテナが何かの原因で落ちても、自動的回復してくれる • 必要な機能にリソースを集中させやすい 例:Webサーバは小さく、バッチ処理のリソースは大きく • ローリングアップデート機能で、機能のアップデートを 不停止で実現

    • 容易にシステムをスケーリング可能!
  7. bmxug.tokyo 話題だし、便利なら使ってみたいですよね?

  8. bmxug.tokyo でも…構築するには壁も高い。 - チュートリアル難しい! - サーバ用意するの大変! - どうやって環境作るの?? 何から手を付ければ…

  9. bmxug.tokyo IBM Cloud ユーザーなら 簡単にKubernetesの構築を体験できます!

  10. bmxug.tokyo IBM CloudにはCode Patternsがあるんです Code Patterns ⇒ 具体的な要件を定義し、IBM Cloud上での開発手順と共に公 開しているステキなサイトです。

  11. bmxug.tokyo 一例をご紹介! Watson + Node RED ブロック チェーン IoT Platform

  12. bmxug.tokyo ここにKubernetesを体験するヒントが!! https://developer.ibm.com/jp/patterns/run-drupal-website-on-kubernetes/

  13. bmxug.tokyo ちなみにdrupalとは - オープンソースのCMS - PHPで構築されている - 汎用性が高く、複雑なシステムでも構築できる

  14. bmxug.tokyo ここからは・・・ このサンプルを元に、 特に初心者がつまずきがちなポイントを 押さえながら、どうやってIBM Cloudで Kubernetesを構築するかを紹介します。

  15. bmxug.tokyo まずは、システム全体の構成図 【出典】 https://developer.ibm.com/jp/patterns/run-drupal-website-on-kubernetes/

  16. bmxug.tokyo 実際にKubernetesを構築してみよう! 1. まずはgithubからソースをローカルに Cloneします。 git clone https://github.com/IBM/drupal-on-kubernetes-sample 2. IBM

    CloudでKubernetesクラスタを作成します。    ポイント! • ライトプランでは利用不可! • 無料タイプなら課金0(※制限あり) • クラスタ作成には15分くらいかかる (気長に待つこと!)
  17. bmxug.tokyo 自分のローカル環境に開発ツールを導入 3. ローカルからIBM Cloudを操作するためのCommand Line Interfaceを導入しておく。 ※Kubernetesクラスタ⇒アクセスに書いてありますが、 意外とハマりポイント ※

    ローカルのOSがWindowsの場合の表示です。
  18. bmxug.tokyo Kubernetesにローカルからアクセス 4. IBM CloudのKubernetesクラスタ⇒アクセスに書かれている手順に沿って、 Kubernetesと のやり取りを出来るようにしておく。 (ここも初心者は忘れがち! ) ちなみに、config取得時に下記のメッセージが出たらクラスタ作成中。

    しばらく待つと下記のエラーは解消されます。 The cluster is not fully deployed yet. Wait a few minutes, then try again.
  19. bmxug.tokyo Kubernetesにコンテナを置こう! 5. 最後にローカルにCloneしたyaml(=Kubernetesに乗せるコンテナの設定情報 )を、自分のクラ スタに作成する3つのコマンドを実行する。

  20. bmxug.tokyo おしまい 手順的にはこれだけのステップで、 Kubernetesを使ったDrupalのサイトが構築できます!

  21. bmxug.tokyo 最後に稼働を確認してみよう! パブリックIP:30080ポートで、Drupalにアクセス出来る!

  22. bmxug.tokyo 稼働状況等もIBM Cloudから見れます IBM CloudからKubernetesのダッシュボードを見る事もできる!

  23. bmxug.tokyo 構築した後は・・・ 自分自身が作成した環境を確認して、理解を深めていきましょう。 Code Patternsには「実際の構築の仕方」はありますが、「なぜ、動くのか」は書いてありません。 • cloneしたリポジトリに書かれているyamlを 見て分析してみる。(/kubernetes配下にあります。) • 作成したクラスタのダッシュボードを触って、機能を確認

    する。 • 更にシステムを自分で改造してみる。
  24. bmxug.tokyo 改造のヒントとして・・・ TryIBMDevがあります。 IBM Developer Advocate や IBM Champion が

    Code Patterns を元に開発したアプリをソースコード付きで 紹介してくれています。 Code Patternsを元に作られているので次のステップに最適な内容です。
  25. bmxug.tokyo 他のKubernetesのサンプルもたくさん ← Container Orchestrationという分類をクリック! (Kubernetesという名前ではない点に注意! )

  26. bmxug.tokyo それでも、つまずいてしまったときは 共有してみんなで解決しましょう!! その為にユーザーコミュニティがあると思います。 是非、bmxug.tokyoにも遊びに来てください