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
990
なるほどわかった!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
760
AzureとWindows Virtual Desktopで新しいリスクに立ち向かおう
yue
0
300
API Gatewayをswaggerでサクサク作ろう!
yue
0
110
なるほどわかった!SORACOMファーストなるほどわかった!SORACOMファーストステップ
yue
0
740
JAWS FESTA 2019 Sapporo 地方で生きる
yue
0
320
なるほどわかった!マルチリージョンとマルチクラウドの話
yue
0
1.2k
なるほどわかった!Azure AppServiceでゆるくWebサイトを公開しよう!
yue
1
840
なるほどわかった!Azure NotebooksとAzure Machine Learning
yue
0
750
なるほどわかった!Alibaba CloudとDevOps
yue
0
490
Other Decks in Technology
See All in Technology
AWS 怖い話 WAF編 @fillz_noh #AWSStartup #AWSStartup_Kansai
fillznoh
0
110
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
160
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
510
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
810
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
230
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
240
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
3
1.2k
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
3.8k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
170
United™️ Airlines®️ Customer®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedguide
0
790
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
Navigating Team Friction
lara
187
15k
The Language of Interfaces
destraynor
158
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Adopting Sorbet at Scale
ufuk
77
9.5k
Building Adaptive Systems
keathley
43
2.7k
Facilitating Awesome Meetings
lara
54
6.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Music & Morning Musume
bryan
46
6.7k
Balancing Empowerment & Direction
lara
1
450
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
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に任せて、「本当に解決したい問 題」に取り組むことがこれから重要になる
続きは会場や懇親会で • 質問や感想、フィードバックは会場や懇親会で受け付けています。 • この顔にピン!と来たら私です!