なるほどわかった!Azure Kubernetes Service(AKS)

なるほどわかった!Azure Kubernetes Service(AKS)

OSC2019 Hokkaido(2019/6/1)のセミナーセッション「なるほどわかった!Azure Kubernetes Service」にて登壇に使用した資料です。

4cc0672dbe913b6e8aa687a81b3e02ab?s=128

Takayuki Fuwa

June 01, 2019
Tweet

Transcript

  1. なるほどわかった! Azure Kubernetes Service JAZUG札幌支部(きたあず)

  2. 撮影について • 一部を除いてOKです。 • 撮影NGな箇所は、都度お知らせします。 • 他の人が入り込む際にはご配慮をお願いします。

  3. 自己紹介 • 名前 • 不破 崇行(ふわ たかゆき) • JAZUG札幌(きたあず) /

    Azureもくもく会札幌の宴会係 • コメディアン • 仕事 • 昼は普通の正社員、夜は個人事業主 • 好きなAzureサービス • AppService / Monitor / Application Gateway • 最近の趣味 • AWS / Azure / 航空無線 / シメパフェ
  4. 4 JAZUG 札幌支部 ▪正式名称 Japan Azure User Group 札幌支部 /

    略称:きたあず ▪活動概要 Cloudにちょっと興味のあるゆるふわな方から実ビジネスで 使用される方まで学べる勉強会を開催しています。 ▪Webサイト https://kitaazu.azurewebsites.net/ きたあずちゃん (@kitaazu_chan)
  5. 5 JAZUGの紹介 JAZUG ⼥⼦部 学⽣部 札幌⽀部 (きたあず) ⻘森⽀部 仙台⽀部 福島⽀部

    静岡⽀部 信州⽀部 名古屋⽀部(なごあず) 関⻄Azure研究会 福岡⽀部 (ふくあず) / ふくあず⼥⼦部 熊本⽀部 沖縄⽀部 http://r.jazug.jp/
  6. ちょいちょい勉強会を開催しています • 2,3ヶ月ぐらいに1度、勉強会を開催し ています。 • 初心者大歓迎です。 • 「今日初めてAzure触るんです!」でも OK!

  7. Azureもくもく会もあるよ • 「もくもく会」もやってます • 一心不乱にAzure CLIを叩いたり • ひたすらに雑談したり • 「困った!」について誰かに相談したり

    • ひたすらにお菓子を食べる • 月1で開催しています!
  8. 分からない事があれば • 「きたあず」のメンバーに聞いてみてください。 • 懇親会にもいるはずなので、是非捕まえてみて下さい!

  9. 今日のお話について

  10. 今日のおはなし • Azureの基礎知識 • 10分ぐらい • そもそも「コンテナ」とか「Docker」とか「Kubernetes」って何? • 15分ぐらい •

    Azure Kubernetes Serviceの紹介とデモ • 20分ぐらい
  11. 今日のゴール • なんとなくでいいので、「Kubernetesでこんなことが出来るんだ!」という事を 理解して欲しい! • 「ちょっとAzure使ってみたくなった!」って思ってもらう

  12. こんな方を想定しています • Azureって名前は知ってるけど、実はあんまよくわかってない • Kubernetesって名前は知ってるけど、実はそこまで分かっていない • 「コンテナはいいぞ!」っていう声は聞くけど、イマイチよく分かっていない • 普段別のクラウドサービス(AWSとか)使っててAzureはよく分かっていない

  13. そもそもAzureって何?

  14. Azure(あじゅーる)とは • 正式名称「Microsoft Azure」 • イタリア語で「紺碧」(こんぺき) • 青空をイメージしてください • MSが提供しているパブリッククラウドサービス

    • 仮想マシンの構築やサーバレスアプリケーションの構築・機械学習系サービス まで、多種多彩なサービスを提供しています。
  15. 多種多様なサービスラインナップ

  16. 世界中に存在するリージョン

  17. 実際に画面を見てみましょう • とりあえずデモしましょう!

  18. コンテナ・Docker・Kubernetes

  19. 「仮想マシン」と「Dockerコンテナ」の違い • Azure VMやEC2に代表される「仮想マシン」とは大きく違う 引用:Docker初めての人向け説明メモ https://qiita.com/miyasakura_/items/87ccb6d4a52d4a00a999

  20. 「仮想マシン」 • VirtualboxやParallelsなど、 ハイパーバイザーを経由して OSから上をまるごと仮想的に OSを作り上げる • これが仮想マシン

  21. Dockerコンテナ化 • LinuxカーネルまではホストOSのリソースを使用し、そこから先を仮想化する。 • Dockerの場合、Linuxの1プロセスとして扱うようなイメージで大丈夫です。

  22. Dockerコンテナ化のメリット • 既存のLinuxカーネルを使うことで、ギリギリまでホストOSを使用するので、 立ち上げ速度が非常に早い • 仮想マシンの場合はOSブートから始まるので、数分ぐらいはかかる • コンテナの場合、大体数秒で起動完了 • 展開しやすい

    • 極力Linuxカーネルを使っているので、サイズが軽くなり、結果的に他の仮想マシンへの 展開速度が速くなる
  23. Dockerとは • そんなコンテナ技術を簡単かつエンタープライズレベルに利用可能に使える エンジン • 米国Docker社が開発・サポートを行っている。 • 要するに、サクッとコンテナを扱えるツール・エンジンが「Docker」 • 世の中の「コンテナ」と言えば殆ど「Docker」と言っても過言ではない

    • Windows / Macでも動作できる
  24. よくある質問 Docker for Windows / Mac 「DockerってLinuxカーネルを使ってるんでしょう?」 なんでWindowsやMacでも動くんですか?

  25. Docker for Windows / Mac • Docker for Windows /

    Macをインストールすると、自動的にDockerに特化 したLinux仮想マシンがインストールされます。 • Windows版だと、Hyper-V上に自動的にLinuxマシンが立ち上がります • Mac版の場合、hyperkitというMacネイティブの仮想化環境で動いています • この仮想マシンでDockerを動かすことで、同じ動作をさせることが出来ます
  26. Dockerの嬉しいメリット • Windows / Mac / Linux どのOSでも、同じコンテナを起動させることが出来 る •

    「Windows用Dockerコンテナ」といったものは存在しない • ただしCPUアーキテクチャ単位での違いはあります • 「開発環境では動くんだけど、本番環境では動かない!」という開発現場で よくある事故を防ぐことが出来る • Dockerfileという、Makefileみたいなテキストファイルを記述するだけで コンテナを生成することが出来る • Dockerfileだけを開発者に配布し、そこから各自の環境にコンテナを立ち上げ るという技も一応可能
  27. Dockerの嬉しいメリット • メモリのプロビジョニングを行わない ため、ホストOSのメモリを 無駄なく活用することが出来る • Dockerのコンテナ単位でメモリや CPUコア数の指定を行わない 引用:What Is

    Docker & Docker Container ? A Deep Dive Into Docker ! https://www.edureka.co/blog/what-is-docker-container
  28. コンテナ化の例 • WordPressをDockerで構築する場合、 • Nginx + PHP-FPMコンテナ • MySQL(MariaDB)コンテナ •

    の2つを立ち上げる
  29. Dockerでの運用の問題点 • Dockerコンテナはどんどん作成出来るため、数がジャンジャン増える コンテナ間の依存関係が分からない! あと、知らないうちにコンテナが落ちてし まっても気づけない!

  30. 一元管理するためのツールが 必要になってきた • Dockerコンテナによるサーバ運用が当たり前になりつつあるが、それに併せて 規模がデカくなってきてしまった! • 一々確認したり、立ち上げし直すのは 面倒! • 出来る事なら自動化したい!

  31. None
  32. Kubernetesという名の救世主 • 「くーべねーてぃす」と呼びます • ギリシャ語で「航海長」・「パイロット」という意味 • Google製のツールで、現在はオープンソース • 複数台(数十台〜数百台)に跨がってコンテナを集中管理してくれるツール

  33. Kubernetesで出来る事 • コンテナ化したアプリケーションのデプロイ・スケーリング管理 • アプリの健全性のチェック • ローリング・アップデート • 水平の自動スケーリングの利用 •

    などなど他にも機能は沢山あります
  34. 「Pod」という概念 • コンテナを「グループ化」するという概念 • ストレージ・リソース・IPアドレスをカプセル化 • IPアドレスを共有しながらグループ化出来るので、ポート衝突を考慮しなくて 良い • Podの中のコンテナは1つでも良いし、複数台でも良い

    引用: https://qiita.com/MahoTakara/items/f5130bb6e9e493c46c6b
  35. 「Node」という概念 • 平たく言うと、仮想マシン1つ単位 引用: https://Kubernetes.io/ja/docs/tutorials/Kubernetes-basics/explore/explore-intro/

  36. Kubernetesの仕組み Master Worker インターネット Worker Worker ・・・

  37. 我が家の例 (ビスケット1号) • 一家に一台Kubernetesクラスターの 時代ですよ! • ラズベリーパイ * 3 (+1あると踏み台サーバを作れる)

    • USB電源(1ポートで2A出せる) • LANスイッチ * 2 • 無線 <-> 有線アダプタ • ケーブル一式 • 多層型ラック * 2 • 手のひらサイズ • 持ち運び可能 • ラック以外は全てヨドバシカメラ札幌店で 買えます。
  38. 元ネタ https://developers.cyberagent.co.jp/blog/archives/14721/

  39. Kubernetesの欠点 • 非常に便利なツールだが、インストールが非常に難しい • ビスケット1号もインストールだけで数日かかった • エンタープライズな環境だと設計も慎重に考える必要があり、更に難しい

  40. Azure Kubernetes Service (AKS) ようやく出番がやってきた!

  41. AKSで出来る事 • Kubernetesによるクラスタリング環境を全自動で構築することが出来る • Node管理やスケールアウト・スケールアップもAzureでやってくれる • ポータル画面かAzure CLIで操作出来る • つまり、アプリ開発に注力することが出来る

  42. None
  43. None
  44. None
  45. None
  46. None
  47. None
  48. None
  49. None
  50. None
  51. AKSの構成例

  52. 既存のアプリケーションを移行させる 引用: https://azure.microsoft.com/ja-jp/services/Kubernetes-service/

  53. GitHub + Azure DevOps + AKSによる DevOps的なスタイル 引用: https://azure.microsoft.com/ja-jp/services/Kubernetes-service/

  54. 仮想ノード(Virtual Node)を使用した超高速スケールアウト

  55. TensorFlow / Kubeflowなど機械学習ツールを実行し、学習モデルを生成する

  56. まとめ

  57. 世界は既にコンテナで動いている • 世界は既にコンテナ技術で回っている • 事実、Googleは地球規模でコンテナデプロイを繰り返している • Dockerを使って開発を進め、本番環境にデプロイする事は、 世界規模ではデファクトスタンダードになりつつある • 仮想マシンがダメだとは言わないが、有力な選択肢は増えたのは事実

  58. 開発や運用で抱える問題をツールやサービス で解決しよう • 「開発環境と本番環境で動きが違う!」 • Dockerコンテナで開発とデプロイをしよう • 「無停止リリースをしたい!」 • Kubernetesを使って楽しよう

    • 「運用・構築だけで時間を取られたくない!」 • Azure Kubernetes Services(AKS)を使って楽しよう • ツールとサービス(Azure)を駆使して、本質的な問題解決に取り組もう
  59. Azureによる問題解決 • Azureの様々なサービスを使うと、「問題の本質」に取り組むことが出来る • 私たちの目的は「お客さんにサービスを提供すること」 であって、「サーバやサービスを 構築・インストール」するのが目的ではない • 難しい事や時間のかかることはAzure /

    Kubernetesに任せて、「本当に解決したい問 題」に取り組むことがこれから重要になる
  60. 続きは会場や懇親会で • 質問や感想、フィードバックは会場や懇親会で受け付けています。 • この顔にピン!と来たら私です!