Running Kubernetes
on Azure
~BuriKaigi2018~
2018/2/3
JAZUG 東北
山本誠樹 a.k.a 世界のやまさ
@nnasaki
今日は仙台から来ました
2
今日は仙台から来ました
3
仙台IT文化祭 2017
4
仙台IT文化祭 2017
5
仙台IT文化祭 公式サイト
2017.sendaiitfes.orgー IT特別講義-10月28日午後
28-203-5 .NET学科
C#大好きMVPによるドキドキライブコーディング(出張編)
Copyright© 仙台IT文化祭. All rights reserved. 51
石野 光仁 氏
Microsoft MVP for Visual Studio and Development Technologies
株式会社 創風システム
小島 富治雄 氏
Microsoft MVP for Visual Studio and Development Technologies
福井コンピュータアーキテクト株式会社 ITアーキテクト
鈴木 孝明 氏
Microsoft MVP for Visual Studio and Development Technologies
株式会社グラニ
室星 亮太 氏
Microsoft MVP for Visual Studio and Development Technologies
フラー株式会社(Fuller, Inc.)
セッション概要
大好評のプログラミング
エンターテイメント
in 仙台!
北信越の Microsoft MVP 4
名が、ライブコーディング
対決形式でプログラミング
の魅力について語ります。
文系 理系 高専 専門 高校社会人
今日お話すること
Azure 上での Kubernetes の動かし方
6
IaaS
• VM
PaaS
• Web
Apps
Container
• Container
Service
FaaS
• Functions
質問:
Kubernetes 知っている人?
8割以上の方が知っているし、既に使っている人も多数。
北陸レベル高い
7
質問:
Docker 知っている人?
こちらも8割以上
8
コンテナの歴史
2013年、Docker登場
2014年、Googleは毎週20億のコンテナを起動していた
Google、Kubernetes発表
2015年、コンテナ仕様は標準化へ
Open Container Initiative(OCI) スタート
Cloud Native Computing Foundation(CNCF) 設立
2016年、Swarm対Kubernetes
2017年、Kubernetesが事実上の標準に
Kubernetes 1.6〜1.9リリース
主要クラウドもKubernetesマネージドサービス提供
9
https://www.sbbit.jp/article/cont1/34350より引用
Docker 登場から5年
まだ新しい技術?
まだ覚える必要は無い?
本番環境には怖くて使えない?
10
質問:
エンジニアの人?
11
Docker って
大丈夫なの?
VISA カード
インフラに
Docker 採用
https://blog.docker.com/2017/04/visa-inc-gains-speed-operational-efficiency-docker-enterprise-edition/
Docker 登場から5年
もう新しいだけの技術じゃない
そろそろ手を付けないとヤバい
14
ちなみにAzureは8周年!
15
© @kosmosebi
コンテナーの管理が必要
だよね
16
kubernetesとは?
17
Load
Balancer
Azure 上での Kubernetes の
動かし方
18
サービスは3つ
Azure Container Service (ACS)
Azure Container Service Engine
Azure Container Service (AKS)
19
Azure Container Service (ACS)
メリット
コマンド一発で作成出来る
GA済みなのでSLAが適用される
日本リージョンに展開可能
kubernetes 以外に Docker Swarm, DC/OS にも対応
デメリット
マスターの課金が発生する
kubernetes のバージョンアップが出来ない
• 2018/2/2現在 1.7.7
公式ドキュメントにたどり着きづらい
20
21
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
目的のURL
Azure Container Service Engine
メリット
ACSのOSS版。Githubに公開されているのでカスタマイズ可能
• https://github.com/Azure/acs-engine
任意のVNETへの配置が行える
1200Nodeのクラスタ構築が行える
Nodeのオートスケール
デメリット
展開方法が複雑
SLAは無し
詳細はこちら参照
ACS Engineを利用してAzure上にkubernetesをdeploy! | 技術的な何か。
http://level69.net/archives/25206
22
Azure Container Service (AKS)
メリット
コマンド一発作成
マスターノードはAzureにお任せで課金無し
• エージェントノードはノードの分だけ課金されるので注意
Kubernetesのバージョンアップ可能
Managed Disk(管理ディスク)対応
デメリット
プレビュー段階
• SLAがまだ無し
日本リージョンにまだ展開されていない
23
つまりまとめると
私は Azure Container Service (AKS) 推しです!
24
AKS の作り方
az provider register -n Microsoft.ContainerService
az group create --name myResourceGroup --location eastus
az aks create --resource-group myResourceGroup --name
myK8sCluster --node-count 1 --generate-ssh-keys
25
AKS Demo
26
「PaaSは滅ぶだろう」
PaaS の進化
今までの PaaS
インフラを意識させない
簡単ゆえに複雑なことができない
これからの PaaS
Infrastracture as a Code
複雑だが簡単に使うことは可能
PaaS はこの先生きのこるために進化している
PaaS vNEXT - 次のPaaSは?
Container as a Service
クラウド・ネイティブ・プラットフォーム
コンテナ・アプリケーション・プラットフォーム
コンテナー 2.0
サーバーレス
Dockerをはじめコンテナが主役
まとめ
Docker使いましょう
Kubernetes を使って Docker を上手に使いましょう
Windows と Mac の Docker Edge バージョンにて Kubernetes
も一緒にインストールされます
minikube など別途インストールは不要になりました
AKS で動かしてみましょう
30
Mastering Kubernetes
on Azure
31
Azure Container Service 概要
32
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
Azure Container Service 概要
33
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
マスター
ロードバランサー
ノード
Azure Container Service 概要
34
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
マスター
ロードバランサー
ノード
k8sのLoadBalancer
が増えると、Azure
のPublic IPも増え
る
AKS の場合
35
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
マスター
はAzureで管理
無料
ノードはACSと
ほぼ同じ
Azure Container Service 概要
36
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
図にはない
ノード間の通信を
行うために必要
ルートテーブルの役割
37
podの通信を
ノード間で
src から dst へ
そのまま転送
ネットワークの動作確認方法
38
Network Watcherを使用した
トポロジの表示
39
Network Watcher - IP フローの確認
40
Network Watcher - 次ホップ
41
ストレージアカウントの制限
42
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
Azure Container Serviceは
ストレージアカウントごとに10VM作られる
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
種類 IOPS スループット
Standard 20000 5〜30Gbps
Premium - 50Gbps
https://docs.microsoft.com/ja-jp/azure/storage/storage-
scalability-targets
ストレージアカウントの制限
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
種類 IOPS スループット
Standard 20000 5〜30Gbps
Premium - 50Gbps
https://docs.microsoft.com/ja-jp/azure/storage/storage-
scalability-targets
片方のストレージアカウントに負荷がか
かる場合
ストレージアカウント間の
負荷分散が出来ない
Azure Managed Disk(管理ディスク)
VM VM VM VM VM
VM VM VM VM VM
VM VM VM VM VM
VM VM VM VM VM
https://docs.microsoft.com/ja-jp/azure/storage/storage-scalability-targets
Managed Disk(管理ディスク)
になれば解決
サブスクリプション、ストレージアカウントの制限が無くなる
AKS は
Managed Disk(管理ディスク)
に対応
VM
VMのストレージ制限
https://docs.microsoft.com/ja-jp/azure/storage/storage-scalability-targets
Disk Disk
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
種類 IOPS スループット
Standard 20000 5〜30Gbps
Premium - 50Gbps
Disk 最大
64個
ストレージ
種類
IOPS スループット
Standard 20000 IOPS -
Premium 80000 IOPS 2000 MB/秒
VMに接続できるディスクの数で決まる
VM
Diskのストレージ制限
https://docs.microsoft.com/ja-jp/azure/storage/storage-scalability-targets
Disk Disk
Azure Storage Account
VM VM VM VM VM
VM VM VM VM VM
種類 IOPS スループット
Standard 20000 5〜30Gbps
Premium - 50Gbps
Disk 最大
64個
ストレージ
種類
VM
Basic
VM
Standard
Standard 300 IOPS 500 IOPS
Premium 5000 IOPS 5000 IOPS
ストレージ
種類
VM
Basic
VM
Standard
Standard - -
Premium 200 MB/秒 200 MB/秒
ノードの更新
49
ノードはVMなので更新が必要
50
https://docs.microsoft.com/ja-jp/azure/container-
service/kubernetes/container-service-intro-kubernetes
ノードはACSと
ほぼ同じ
OMS の更新管理ソリューション
エージェントをインストールすると更新管理を行う
51
OMS の更新管理ソリューション
更新プログラムのインストールも自動化可能
52

Running Kubernetes on Azure

Editor's Notes

  • #13 ベンダーロックイン?
  • #14 皆さんの気づかないうちに浸透してきている