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
860
なるほどわかった!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
570
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
250
API Gatewayをswaggerでサクサク作ろう!
yue
0
94
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
660
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
280
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1.1k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
770
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
660
なるほどわかった!Alibaba CloudとDevOps
yue
0
420
Other Decks in Technology
See All in Technology
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
Engineer Career Talk
lycorp_recruit_jp
0
190
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
880
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
1
230
The Rise of LLMOps
asei
9
1.7k
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
260
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
530
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
490
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Tale of Four Properties
chriscoyier
156
23k
For a Future-Friendly Web
brad_frost
175
9.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
KATA
mclloyd
29
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How STYLIGHT went responsive
nonsquared
95
5.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Statistics for Hackers
jakevdp
796
220k
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に任せて、「本当に解決したい問 題」に取り組むことがこれから重要になる
続きは会場や懇親会で • 質問や感想、フィードバックは会場や懇親会で受け付けています。 • この顔にピン!と来たら私です!