Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なるほどわかった!Azure Kubernetes Service(AKS)
Search
Takayuki Fuwa
June 01, 2019
Technology
3
980
なるほどわかった!Azure Kubernetes Service(AKS)
OSC2019 Hokkaido(2019/6/1)のセミナーセッション「なるほどわかった!Azure Kubernetes Service」にて登壇に使用した資料です。
Takayuki Fuwa
June 01, 2019
Tweet
Share
More Decks by Takayuki Fuwa
See All by Takayuki Fuwa
Backlogの「カスタム属性」東雲研究所での利用例
yue
0
730
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
300
API Gatewayをswaggerでサクサク作ろう!
yue
0
100
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
730
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
310
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1.2k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
830
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
740
なるほどわかった!Alibaba CloudとDevOps
yue
0
480
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
Drawing with LLMs
rist
0
240
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
290
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
1
170
大失敗しないための Web API 開発レシピ / A recipe for not making a big failure on WebAPI development
yokawasa
1
230
「伝える」を加速させるCursor術
naomix
0
550
開発フェーズだけではない AI導入はどのように進めていくべきか / How should we proceed with AI adoption beyond the development stage?
i35_267
2
130
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
120
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
270
AWS Lambdaでサーバレス設計を学ぼう_ベンダーロックインの懸念を超えて-サーバレスの真価を探る
fukuchiiinu
4
960
Kubernetesで作るAIプラットフォーム
oracle4engineer
PRO
2
220
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
1
490
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Fireside Chat
paigeccino
37
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
A Tale of Four Properties
chriscoyier
159
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
A better future with KSS
kneath
239
17k
Optimizing for Happiness
mojombo
379
70k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Faster Mobile Websites
deanohume
307
31k
The Cult of Friendly URLs
andyhume
79
6.4k
Transcript
なるほどわかった! Azure Kubernetes Service JAZUG札幌支部(きたあず)
撮影について • 一部を除いてOKです。 • 撮影NGな箇所は、都度お知らせします。 • 他の人が入り込む際にはご配慮をお願いします。
自己紹介 • 名前 • 不破 崇行(ふわ たかゆき) • JAZUG札幌(きたあず) /
Azureもくもく会札幌の宴会係 • コメディアン • 仕事 • 昼は普通の正社員、夜は個人事業主 • 好きなAzureサービス • AppService / Monitor / Application Gateway • 最近の趣味 • AWS / Azure / 航空無線 / シメパフェ
4 JAZUG 札幌支部 ▪正式名称 Japan Azure User Group 札幌支部 /
略称:きたあず ▪活動概要 Cloudにちょっと興味のあるゆるふわな方から実ビジネスで 使用される方まで学べる勉強会を開催しています。 ▪Webサイト https://kitaazu.azurewebsites.net/ きたあずちゃん (@kitaazu_chan)
5 JAZUGの紹介 JAZUG ⼥⼦部 学⽣部 札幌⽀部 (きたあず) ⻘森⽀部 仙台⽀部 福島⽀部
静岡⽀部 信州⽀部 名古屋⽀部(なごあず) 関⻄Azure研究会 福岡⽀部 (ふくあず) / ふくあず⼥⼦部 熊本⽀部 沖縄⽀部 http://r.jazug.jp/
ちょいちょい勉強会を開催しています • 2,3ヶ月ぐらいに1度、勉強会を開催し ています。 • 初心者大歓迎です。 • 「今日初めてAzure触るんです!」でも OK!
Azureもくもく会もあるよ • 「もくもく会」もやってます • 一心不乱にAzure CLIを叩いたり • ひたすらに雑談したり • 「困った!」について誰かに相談したり
• ひたすらにお菓子を食べる • 月1で開催しています!
分からない事があれば • 「きたあず」のメンバーに聞いてみてください。 • 懇親会にもいるはずなので、是非捕まえてみて下さい!
今日のお話について
今日のおはなし • Azureの基礎知識 • 10分ぐらい • そもそも「コンテナ」とか「Docker」とか「Kubernetes」って何? • 15分ぐらい •
Azure Kubernetes Serviceの紹介とデモ • 20分ぐらい
今日のゴール • なんとなくでいいので、「Kubernetesでこんなことが出来るんだ!」という事を 理解して欲しい! • 「ちょっとAzure使ってみたくなった!」って思ってもらう
こんな方を想定しています • Azureって名前は知ってるけど、実はあんまよくわかってない • Kubernetesって名前は知ってるけど、実はそこまで分かっていない • 「コンテナはいいぞ!」っていう声は聞くけど、イマイチよく分かっていない • 普段別のクラウドサービス(AWSとか)使っててAzureはよく分かっていない
そもそもAzureって何?
Azure(あじゅーる)とは • 正式名称「Microsoft Azure」 • イタリア語で「紺碧」(こんぺき) • 青空をイメージしてください • MSが提供しているパブリッククラウドサービス
• 仮想マシンの構築やサーバレスアプリケーションの構築・機械学習系サービス まで、多種多彩なサービスを提供しています。
多種多様なサービスラインナップ
世界中に存在するリージョン
実際に画面を見てみましょう • とりあえずデモしましょう!
コンテナ・Docker・Kubernetes
「仮想マシン」と「Dockerコンテナ」の違い • Azure VMやEC2に代表される「仮想マシン」とは大きく違う 引用:Docker初めての人向け説明メモ https://qiita.com/miyasakura_/items/87ccb6d4a52d4a00a999
「仮想マシン」 • VirtualboxやParallelsなど、 ハイパーバイザーを経由して OSから上をまるごと仮想的に OSを作り上げる • これが仮想マシン
Dockerコンテナ化 • LinuxカーネルまではホストOSのリソースを使用し、そこから先を仮想化する。 • Dockerの場合、Linuxの1プロセスとして扱うようなイメージで大丈夫です。
Dockerコンテナ化のメリット • 既存のLinuxカーネルを使うことで、ギリギリまでホストOSを使用するので、 立ち上げ速度が非常に早い • 仮想マシンの場合はOSブートから始まるので、数分ぐらいはかかる • コンテナの場合、大体数秒で起動完了 • 展開しやすい
• 極力Linuxカーネルを使っているので、サイズが軽くなり、結果的に他の仮想マシンへの 展開速度が速くなる
Dockerとは • そんなコンテナ技術を簡単かつエンタープライズレベルに利用可能に使える エンジン • 米国Docker社が開発・サポートを行っている。 • 要するに、サクッとコンテナを扱えるツール・エンジンが「Docker」 • 世の中の「コンテナ」と言えば殆ど「Docker」と言っても過言ではない
• Windows / Macでも動作できる
よくある質問 Docker for Windows / Mac 「DockerってLinuxカーネルを使ってるんでしょう?」 なんでWindowsやMacでも動くんですか?
Docker for Windows / Mac • Docker for Windows /
Macをインストールすると、自動的にDockerに特化 したLinux仮想マシンがインストールされます。 • Windows版だと、Hyper-V上に自動的にLinuxマシンが立ち上がります • Mac版の場合、hyperkitというMacネイティブの仮想化環境で動いています • この仮想マシンでDockerを動かすことで、同じ動作をさせることが出来ます
Dockerの嬉しいメリット • Windows / Mac / Linux どのOSでも、同じコンテナを起動させることが出来 る •
「Windows用Dockerコンテナ」といったものは存在しない • ただしCPUアーキテクチャ単位での違いはあります • 「開発環境では動くんだけど、本番環境では動かない!」という開発現場で よくある事故を防ぐことが出来る • Dockerfileという、Makefileみたいなテキストファイルを記述するだけで コンテナを生成することが出来る • Dockerfileだけを開発者に配布し、そこから各自の環境にコンテナを立ち上げ るという技も一応可能
Dockerの嬉しいメリット • メモリのプロビジョニングを行わない ため、ホストOSのメモリを 無駄なく活用することが出来る • Dockerのコンテナ単位でメモリや CPUコア数の指定を行わない 引用:What Is
Docker & Docker Container ? A Deep Dive Into Docker ! https://www.edureka.co/blog/what-is-docker-container
コンテナ化の例 • WordPressをDockerで構築する場合、 • Nginx + PHP-FPMコンテナ • MySQL(MariaDB)コンテナ •
の2つを立ち上げる
Dockerでの運用の問題点 • Dockerコンテナはどんどん作成出来るため、数がジャンジャン増える コンテナ間の依存関係が分からない! あと、知らないうちにコンテナが落ちてし まっても気づけない!
一元管理するためのツールが 必要になってきた • Dockerコンテナによるサーバ運用が当たり前になりつつあるが、それに併せて 規模がデカくなってきてしまった! • 一々確認したり、立ち上げし直すのは 面倒! • 出来る事なら自動化したい!
None
Kubernetesという名の救世主 • 「くーべねーてぃす」と呼びます • ギリシャ語で「航海長」・「パイロット」という意味 • Google製のツールで、現在はオープンソース • 複数台(数十台〜数百台)に跨がってコンテナを集中管理してくれるツール
Kubernetesで出来る事 • コンテナ化したアプリケーションのデプロイ・スケーリング管理 • アプリの健全性のチェック • ローリング・アップデート • 水平の自動スケーリングの利用 •
などなど他にも機能は沢山あります
「Pod」という概念 • コンテナを「グループ化」するという概念 • ストレージ・リソース・IPアドレスをカプセル化 • IPアドレスを共有しながらグループ化出来るので、ポート衝突を考慮しなくて 良い • Podの中のコンテナは1つでも良いし、複数台でも良い
引用: https://qiita.com/MahoTakara/items/f5130bb6e9e493c46c6b
「Node」という概念 • 平たく言うと、仮想マシン1つ単位 引用: https://Kubernetes.io/ja/docs/tutorials/Kubernetes-basics/explore/explore-intro/
Kubernetesの仕組み Master Worker インターネット Worker Worker ・・・
我が家の例 (ビスケット1号) • 一家に一台Kubernetesクラスターの 時代ですよ! • ラズベリーパイ * 3 (+1あると踏み台サーバを作れる)
• USB電源(1ポートで2A出せる) • LANスイッチ * 2 • 無線 <-> 有線アダプタ • ケーブル一式 • 多層型ラック * 2 • 手のひらサイズ • 持ち運び可能 • ラック以外は全てヨドバシカメラ札幌店で 買えます。
元ネタ https://developers.cyberagent.co.jp/blog/archives/14721/
Kubernetesの欠点 • 非常に便利なツールだが、インストールが非常に難しい • ビスケット1号もインストールだけで数日かかった • エンタープライズな環境だと設計も慎重に考える必要があり、更に難しい
Azure Kubernetes Service (AKS) ようやく出番がやってきた!
AKSで出来る事 • Kubernetesによるクラスタリング環境を全自動で構築することが出来る • Node管理やスケールアウト・スケールアップもAzureでやってくれる • ポータル画面かAzure CLIで操作出来る • つまり、アプリ開発に注力することが出来る
None
None
None
None
None
None
None
None
None
AKSの構成例
既存のアプリケーションを移行させる 引用: https://azure.microsoft.com/ja-jp/services/Kubernetes-service/
GitHub + Azure DevOps + AKSによる DevOps的なスタイル 引用: https://azure.microsoft.com/ja-jp/services/Kubernetes-service/
仮想ノード(Virtual Node)を使用した超高速スケールアウト
TensorFlow / Kubeflowなど機械学習ツールを実行し、学習モデルを生成する
まとめ
世界は既にコンテナで動いている • 世界は既にコンテナ技術で回っている • 事実、Googleは地球規模でコンテナデプロイを繰り返している • Dockerを使って開発を進め、本番環境にデプロイする事は、 世界規模ではデファクトスタンダードになりつつある • 仮想マシンがダメだとは言わないが、有力な選択肢は増えたのは事実
開発や運用で抱える問題をツールやサービス で解決しよう • 「開発環境と本番環境で動きが違う!」 • Dockerコンテナで開発とデプロイをしよう • 「無停止リリースをしたい!」 • Kubernetesを使って楽しよう
• 「運用・構築だけで時間を取られたくない!」 • Azure Kubernetes Services(AKS)を使って楽しよう • ツールとサービス(Azure)を駆使して、本質的な問題解決に取り組もう
Azureによる問題解決 • Azureの様々なサービスを使うと、「問題の本質」に取り組むことが出来る • 私たちの目的は「お客さんにサービスを提供すること」 であって、「サーバやサービスを 構築・インストール」するのが目的ではない • 難しい事や時間のかかることはAzure /
Kubernetesに任せて、「本当に解決したい問 題」に取り組むことがこれから重要になる
続きは会場や懇親会で • 質問や感想、フィードバックは会場や懇親会で受け付けています。 • この顔にピン!と来たら私です!