SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Open Service Broker for Azure(OSBA)を使う
~Azure MySQLをAKSからデプロイ~
JAZUG 8周年総会 LT
yoshimasa.katakura@yo_ta_n
自己紹介
片倉 義昌(かたくら よしまさ)
pnopで働いてます
Azureコンサルティングとかしてます
Microsoft MVP for Azure (2017~)
2
yoshimasa.katakura@yo_ta_n
Azure Kubernetes Service?
3
Azure Kubernetes Serviceを雑に紹介
略して “AKS”
フルマネージドなKubernetes(k8s)環境をAzureで利用可能
利用者のAzureサブスクリプションには “ノード”と言われるい
つも見慣れた仮想マシンが直接配置される。
料金はノードに対する仮想マシン、ネットワーク、ストレージ、
通信料金などで、k8sのクラスター管理に別料金は不要。
AzureのRBACと統合してIDとセキュリティ管理可能
Azureの他のサービスと同様にログの記録と監視も統合されて
いる
4
Copyright© 2018, Y.Katakura All Rights Reserved. https://docs.microsoft.com/ja-jp/azure/aks/intro-kubernetes
文字多いんですけど
k8sから使えるAzureサービス
5
Azure Managed Disk & Azure Files
動的ストレージとして、Managed DiskのStandardとPremiumス
トレージがいきなり利用可能
もちろんユーザが作成したManaged Diskをk8s内のコンテナか
ら利用することも可能
Azure Fileを利用して複数Pod間でファイル共有も可能
6
Copyright© 2018, Y.Katakura All Rights Reserved.
https://docs.microsoft.com/ja-jp/azure/aks/azure-disks-dynamic-pv
https://docs.microsoft.com/ja-jp/azure/aks/azure-disk-volume
https://docs.microsoft.com/ja-jp/azure/aks/azure-files-dynamic-pv
https://docs.microsoft.com/ja-jp/azure/aks/azure-files-volume
$ kubectl get storageclass
NAME PROVISIONER AGE
default (default) kubernetes.io/azure-disk 23h
managed-premium kubernetes.io/azure-disk 23h
ストレージの利用は
できれば避けた設計
にしたいですね
Load Balancer/Internal Load Balancer
k8sでLoadBalancerを作成すると、Azure Public IPアドレスを作成
してロードバランサーの自動構成をしてくれる。
Internal Load Balancerを作成すると、Azure Load Balancerを作成
して、他の仮想ネットワークやサブネットから通信可能になる
7
Copyright© 2018, Y.Katakura All Rights Reserved. https://docs.microsoft.com/ja-jp/azure/aks/internal-lb
$ kubectl get service wp-external-lb
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wp-external-lb LoadBalancer 10.0.57.7 40.115.181.XXX 80:30873/TCP 21h
AKS以外のAzureサー
ビスとの連携もバッ
チリだね
Open Service Broker for Azure
(OSBA)とは
8
Open Service Broker for Azure(OSBA)
Open Service Broker API
Azureなどの各種クラウドの外部サービス(SQL DB, Database for MySQLな
ど)を、統一されたインタフェースでデプロイできるAPI仕様
Service Catalog
このAPIを呼び出すためのサービスとしてk8s上で動作
Open Service Broker for Azure
Azureの各種PaaSサービスをk8s上からデプロイするための仕組み
2018/09現在はSQL DB, Database for MySQL, Database for PostgreSQLが対応
将来的にはCosmos DB, Event Hubs, Key Vaultなどにも対応予定
9
Copyright© 2018, Y.Katakura All Rights Reserved.
https://docs.microsoft.com/ja-jp/azure/aks/integrate-azure
https://github.com/kubernetes-incubator/service-catalog
https://github.com/Azure/open-service-broker-azure
だから文字多
いってば
OSBAによるDatabase for MySQLのデプロイ
10
Copyright© 2018, Y.Katakura All Rights Reserved.
AKS
Service Catalog
Open Service
Broker for Azure
Open Service
Broker API
$ kubectl apply –f mysql.yaml
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: wp-mysql
spec:
clusterServiceClassExternalName: azure-mysql-5-7
clusterServicePlanExternalName: basic
parameters:
location: japaneast
resourceGroup: aksbase01-rg
sslEnforcement: disabled
firewallRules:
- startIPAddress: "0.0.0.0"
endIPAddress: "255.255.255.255"
name: "AllowAll"
sslEnforcementや
firewallRulesの内容
が気になる……
デプロイされたDatabase for MySQLの情報参照
OSBAで作成されたMySQLの必要な
パラメータはServiceBindingで
Secretに変換できる
Secret “mysql-secret” にOSBAが作成
したMySQLの各種情報が格納され
る
11
Copyright© 2018, Y.Katakura All Rights Reserved.
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceBinding
metadata:
name: mysql-servicebinding
spec:
instanceRef:
name: wp-mysql
secretName: mysql-secret
$ kubectl get secret mysql-secret -o yaml
apiVersion: v1
data:
database: eWhiZGQycHkwMg==
host: ZDg0ZTU2ODgtZDJkNC00ODc4LWFiYmYtOGEzODk0ZjJ
lNDcwLm15c3FsLmRhdGFiYXNlLmF6dXJlLmNvbQ==
password: cDhRQWVYN0JQN2x6a1JXRQ==
port: MzMwNg==
sslRequired: ZmFsc2U=
tags: WyJteXNxbCJd
(以下略)
Secret内の文字列は
Base 64エンコードさ
れているんだね
これでWordPressのデプロイもkubectlだけ
でできちゃうぜ
OSBAにてAzure Database for MySQL作成
Secretから参照するためのServiceBinding作成
Azure Managed Diskを動的ストレージで作成
LoadBalancerを作成(TCP/80を空ける)
WordPressのDeploymentを作成
12
Copyright© 2018, Y.Katakura All Rights Reserved.
$ kubectl apply –f mysql-ServiceInstance.yaml
$ kubectl apply –f mysql-ServiceBinding.yaml
$ kubectl apply –f wp-Storage.yaml
$ kubectl apply –f wp-lb.yaml
$ kubectl apply –f wp-Service.yaml
今回はシンプルに
httpアクセスのみ
で
超簡単
13
Copyright© 2018, Y.Katakura All Rights Reserved.
「保護されていない通信」
……か
気づいたところ
今はまだSQL DB, MySQL, PostgreSQLしか対応してい
ないが今後に期待
今回はMySQLを試したけど初期で作成したDB, User,
Passwordから変更不可
よりセキュアな構成にするためのAzure Service
Endpoint等を使うにはやはり直接Azureリソースを
いじる必要がある
14
Copyright© 2018, Y.Katakura All Rights Reserved.
ない機能は参加して自分達
で作ろう(
参考資料
15
Copyright© 2018, Y.Katakura All Rights Reserved.
MS公式ドキュメントによるOSBAのインストール方法
https://docs.microsoft.com/ja-jp/azure/aks/integrate-azure
今回の資料で使用したyamlファイル一式
https://github.com/katakura/osba-sample
要するにこのスライドだけ
あればいいんだね
ご静聴ありがとうございました
16

Mais conteúdo relacionado

Mais procurados

Demystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceDemystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceToru Makabe
 
「Azure durable functions」の概要
「Azure durable functions」の概要「Azure durable functions」の概要
「Azure durable functions」の概要裕之 木下
 
Azure update flash
Azure update flashAzure update flash
Azure update flashMinoru Naito
 
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座Minoru Naito
 
Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Sayaka Shimada
 
Real World Azure RBAC
Real World Azure RBACReal World Azure RBAC
Real World Azure RBACToru Makabe
 
Azureコスト管理機能のお話
Azureコスト管理機能のお話Azureコスト管理機能のお話
Azureコスト管理機能のお話裕之 木下
 
20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワークKuninobu SaSaki
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識Minoru Naito
 
Azureの管理権限について
Azureの管理権限について Azureの管理権限について
Azureの管理権限について junichi anno
 
OSC関西@京都2014 CloudStackの歩き方
OSC関西@京都2014 CloudStackの歩き方OSC関西@京都2014 CloudStackの歩き方
OSC関西@京都2014 CloudStackの歩き方Midori Oge
 
クラウドで動画配信
クラウドで動画配信クラウドで動画配信
クラウドで動画配信裕之 木下
 
AzureStorageのオブジェクトレプリケートを試してみた
AzureStorageのオブジェクトレプリケートを試してみたAzureStorageのオブジェクトレプリケートを試してみた
AzureStorageのオブジェクトレプリケートを試してみた裕之 木下
 
Azureの活用事例
Azureの活用事例Azureの活用事例
Azureの活用事例Tsukasa Kato
 
Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)
Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)
Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)Trainocate Japan, Ltd.
 
Azure Functionsを業務利用する時の勘所
Azure Functionsを業務利用する時の勘所Azure Functionsを業務利用する時の勘所
Azure Functionsを業務利用する時の勘所裕之 木下
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとはTrainocate Japan, Ltd.
 

Mais procurados (17)

Demystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceDemystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes Service
 
「Azure durable functions」の概要
「Azure durable functions」の概要「Azure durable functions」の概要
「Azure durable functions」の概要
 
Azure update flash
Azure update flashAzure update flash
Azure update flash
 
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
 
Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412
 
Real World Azure RBAC
Real World Azure RBACReal World Azure RBAC
Real World Azure RBAC
 
Azureコスト管理機能のお話
Azureコスト管理機能のお話Azureコスト管理機能のお話
Azureコスト管理機能のお話
 
20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク20150821 Azure 仮想マシンと仮想ネットワーク
20150821 Azure 仮想マシンと仮想ネットワーク
 
今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識今改めて学ぶ Microsoft Azure 基礎知識
今改めて学ぶ Microsoft Azure 基礎知識
 
Azureの管理権限について
Azureの管理権限について Azureの管理権限について
Azureの管理権限について
 
OSC関西@京都2014 CloudStackの歩き方
OSC関西@京都2014 CloudStackの歩き方OSC関西@京都2014 CloudStackの歩き方
OSC関西@京都2014 CloudStackの歩き方
 
クラウドで動画配信
クラウドで動画配信クラウドで動画配信
クラウドで動画配信
 
AzureStorageのオブジェクトレプリケートを試してみた
AzureStorageのオブジェクトレプリケートを試してみたAzureStorageのオブジェクトレプリケートを試してみた
AzureStorageのオブジェクトレプリケートを試してみた
 
Azureの活用事例
Azureの活用事例Azureの活用事例
Azureの活用事例
 
Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)
Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)
Azure AD DSドメインに仮想マシンを参加させる (トレノケ雲の会 mod1)
 
Azure Functionsを業務利用する時の勘所
Azure Functionsを業務利用する時の勘所Azure Functionsを業務利用する時の勘所
Azure Functionsを業務利用する時の勘所
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
 

Semelhante a Open Service Broker for Azure(OSBA)をつかう

Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~Yoshimasa Katakura
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxYasuaki Matsuda
 
俺的 Build Update まとめ
俺的 Build Update まとめ俺的 Build Update まとめ
俺的 Build Update まとめYui Ashikaga
 
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像 MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像 Ai Hayakawa
 
[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session
[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session
[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session日本マイクロソフト株式会社
 
Container x azure x kubernetes
Container x azure x kubernetesContainer x azure x kubernetes
Container x azure x kubernetesYasuaki Matsuda
 
Azure Service Fabric 紹介
Azure Service Fabric 紹介Azure Service Fabric 紹介
Azure Service Fabric 紹介Takekazu Omi
 
アダプティブ クラウド アプローチと Azure IoT Operations 概要
アダプティブ クラウド アプローチと Azure IoT Operations 概要アダプティブ クラウド アプローチと Azure IoT Operations 概要
アダプティブ クラウド アプローチと Azure IoT Operations 概要iotcomjpadmin
 
Azure Private Linkのご紹介
Azure Private Linkのご紹介Azure Private Linkのご紹介
Azure Private Linkのご紹介Tsukasa Kato
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on AzureMasaki Yamamoto
 
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~de:code 2017
 
Intro jazuggirls 20120125
Intro jazuggirls 20120125Intro jazuggirls 20120125
Intro jazuggirls 20120125Saori Ando
 
Azureでmicroservicesに触れてみる
Azureでmicroservicesに触れてみるAzureでmicroservicesに触れてみる
Azureでmicroservicesに触れてみるKazunori Hamamoto
 
Tech Night Recap Sapporo - Build 2023 Azure
Tech Night Recap Sapporo - Build 2023 Azure Tech Night Recap Sapporo - Build 2023 Azure
Tech Night Recap Sapporo - Build 2023 Azure Yasuaki Matsuda
 
俺的 Ignite Update まとめ 2019
俺的 Ignite Update まとめ 2019俺的 Ignite Update まとめ 2019
俺的 Ignite Update まとめ 2019Yui Ashikaga
 
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会IoTビジネス共創ラボ
 
kubernetes on Azure 最新情報
kubernetes on Azure 最新情報kubernetes on Azure 最新情報
kubernetes on Azure 最新情報Takayoshi Tanaka
 

Semelhante a Open Service Broker for Azure(OSBA)をつかう (20)

Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
 
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptxTech Night Recap Sapporo - Ignite & .NET Conf -.pptx
Tech Night Recap Sapporo - Ignite & .NET Conf -.pptx
 
俺的 Build Update まとめ
俺的 Build Update まとめ俺的 Build Update まとめ
俺的 Build Update まとめ
 
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像 MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
 
[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session
[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session
[Microsoft Ignite 2020] CON130 ハイライト振り返り - Japan Session
 
Container x azure x kubernetes
Container x azure x kubernetesContainer x azure x kubernetes
Container x azure x kubernetes
 
Azure Service Fabric 紹介
Azure Service Fabric 紹介Azure Service Fabric 紹介
Azure Service Fabric 紹介
 
アダプティブ クラウド アプローチと Azure IoT Operations 概要
アダプティブ クラウド アプローチと Azure IoT Operations 概要アダプティブ クラウド アプローチと Azure IoT Operations 概要
アダプティブ クラウド アプローチと Azure IoT Operations 概要
 
Azure Private Linkのご紹介
Azure Private Linkのご紹介Azure Private Linkのご紹介
Azure Private Linkのご紹介
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on Azure
 
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
[AC09] Azure Stack パート1 ~今知っておくべき開発者/インフラ担当者の最新ハイブリッドクラウドとの向きあい方~
 
Non-coding! Azure
Non-coding! AzureNon-coding! Azure
Non-coding! Azure
 
Sql azure入門
Sql azure入門Sql azure入門
Sql azure入門
 
Intro jazuggirls 20120125
Intro jazuggirls 20120125Intro jazuggirls 20120125
Intro jazuggirls 20120125
 
Azureでmicroservicesに触れてみる
Azureでmicroservicesに触れてみるAzureでmicroservicesに触れてみる
Azureでmicroservicesに触れてみる
 
Tech Night Recap Sapporo - Build 2023 Azure
Tech Night Recap Sapporo - Build 2023 Azure Tech Night Recap Sapporo - Build 2023 Azure
Tech Night Recap Sapporo - Build 2023 Azure
 
俺的 Ignite Update まとめ 2019
俺的 Ignite Update まとめ 2019俺的 Ignite Update まとめ 2019
俺的 Ignite Update まとめ 2019
 
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
IoTから関連するサービス群も含めてAzure 最新アップデートのご紹介_IoTビジネス共創ラボ 第9回 勉強会
 
[Japan Tech summit 2017] CLD 021
[Japan Tech summit 2017]  CLD 021[Japan Tech summit 2017]  CLD 021
[Japan Tech summit 2017] CLD 021
 
kubernetes on Azure 最新情報
kubernetes on Azure 最新情報kubernetes on Azure 最新情報
kubernetes on Azure 最新情報
 

Mais de Yoshimasa Katakura

Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure Cognitive Serviceの感情分析を使って自分を見つめ直すAzure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure Cognitive Serviceの感情分析を使って自分を見つめ直すYoshimasa Katakura
 
Azure bastion ignite the tour @tokyo 2019
Azure bastion   ignite the tour @tokyo 2019Azure bastion   ignite the tour @tokyo 2019
Azure bastion ignite the tour @tokyo 2019Yoshimasa Katakura
 
Azure Network Security Group(NSG) はじめてのDeep Dive
Azure Network Security Group(NSG) はじめてのDeep DiveAzure Network Security Group(NSG) はじめてのDeep Dive
Azure Network Security Group(NSG) はじめてのDeep DiveYoshimasa Katakura
 
(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらいYoshimasa Katakura
 
My drivingではじめるazure IoT
My drivingではじめるazure IoTMy drivingではじめるazure IoT
My drivingではじめるazure IoTYoshimasa Katakura
 

Mais de Yoshimasa Katakura (7)

Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure Cognitive Serviceの感情分析を使って自分を見つめ直すAzure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
 
Azure bastion ignite the tour @tokyo 2019
Azure bastion   ignite the tour @tokyo 2019Azure bastion   ignite the tour @tokyo 2019
Azure bastion ignite the tour @tokyo 2019
 
Azure Network Security Group(NSG) はじめてのDeep Dive
Azure Network Security Group(NSG) はじめてのDeep DiveAzure Network Security Group(NSG) はじめてのDeep Dive
Azure Network Security Group(NSG) はじめてのDeep Dive
 
(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい(Fix)Azure Network Security Group(NSG)のおさらい
(Fix)Azure Network Security Group(NSG)のおさらい
 
My drivingではじめるazure IoT
My drivingではじめるazure IoTMy drivingではじめるazure IoT
My drivingではじめるazure IoT
 
Jazug7周年LT(片倉義昌)
Jazug7周年LT(片倉義昌)Jazug7周年LT(片倉義昌)
Jazug7周年LT(片倉義昌)
 
Jazug6周年lt(片倉義昌)
Jazug6周年lt(片倉義昌)Jazug6周年lt(片倉義昌)
Jazug6周年lt(片倉義昌)
 

Open Service Broker for Azure(OSBA)をつかう

  • 1. Open Service Broker for Azure(OSBA)を使う ~Azure MySQLをAKSからデプロイ~ JAZUG 8周年総会 LT yoshimasa.katakura@yo_ta_n
  • 4. Azure Kubernetes Serviceを雑に紹介 略して “AKS” フルマネージドなKubernetes(k8s)環境をAzureで利用可能 利用者のAzureサブスクリプションには “ノード”と言われるい つも見慣れた仮想マシンが直接配置される。 料金はノードに対する仮想マシン、ネットワーク、ストレージ、 通信料金などで、k8sのクラスター管理に別料金は不要。 AzureのRBACと統合してIDとセキュリティ管理可能 Azureの他のサービスと同様にログの記録と監視も統合されて いる 4 Copyright© 2018, Y.Katakura All Rights Reserved. https://docs.microsoft.com/ja-jp/azure/aks/intro-kubernetes 文字多いんですけど
  • 6. Azure Managed Disk & Azure Files 動的ストレージとして、Managed DiskのStandardとPremiumス トレージがいきなり利用可能 もちろんユーザが作成したManaged Diskをk8s内のコンテナか ら利用することも可能 Azure Fileを利用して複数Pod間でファイル共有も可能 6 Copyright© 2018, Y.Katakura All Rights Reserved. https://docs.microsoft.com/ja-jp/azure/aks/azure-disks-dynamic-pv https://docs.microsoft.com/ja-jp/azure/aks/azure-disk-volume https://docs.microsoft.com/ja-jp/azure/aks/azure-files-dynamic-pv https://docs.microsoft.com/ja-jp/azure/aks/azure-files-volume $ kubectl get storageclass NAME PROVISIONER AGE default (default) kubernetes.io/azure-disk 23h managed-premium kubernetes.io/azure-disk 23h ストレージの利用は できれば避けた設計 にしたいですね
  • 7. Load Balancer/Internal Load Balancer k8sでLoadBalancerを作成すると、Azure Public IPアドレスを作成 してロードバランサーの自動構成をしてくれる。 Internal Load Balancerを作成すると、Azure Load Balancerを作成 して、他の仮想ネットワークやサブネットから通信可能になる 7 Copyright© 2018, Y.Katakura All Rights Reserved. https://docs.microsoft.com/ja-jp/azure/aks/internal-lb $ kubectl get service wp-external-lb NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE wp-external-lb LoadBalancer 10.0.57.7 40.115.181.XXX 80:30873/TCP 21h AKS以外のAzureサー ビスとの連携もバッ チリだね
  • 8. Open Service Broker for Azure (OSBA)とは 8
  • 9. Open Service Broker for Azure(OSBA) Open Service Broker API Azureなどの各種クラウドの外部サービス(SQL DB, Database for MySQLな ど)を、統一されたインタフェースでデプロイできるAPI仕様 Service Catalog このAPIを呼び出すためのサービスとしてk8s上で動作 Open Service Broker for Azure Azureの各種PaaSサービスをk8s上からデプロイするための仕組み 2018/09現在はSQL DB, Database for MySQL, Database for PostgreSQLが対応 将来的にはCosmos DB, Event Hubs, Key Vaultなどにも対応予定 9 Copyright© 2018, Y.Katakura All Rights Reserved. https://docs.microsoft.com/ja-jp/azure/aks/integrate-azure https://github.com/kubernetes-incubator/service-catalog https://github.com/Azure/open-service-broker-azure だから文字多 いってば
  • 10. OSBAによるDatabase for MySQLのデプロイ 10 Copyright© 2018, Y.Katakura All Rights Reserved. AKS Service Catalog Open Service Broker for Azure Open Service Broker API $ kubectl apply –f mysql.yaml apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceInstance metadata: name: wp-mysql spec: clusterServiceClassExternalName: azure-mysql-5-7 clusterServicePlanExternalName: basic parameters: location: japaneast resourceGroup: aksbase01-rg sslEnforcement: disabled firewallRules: - startIPAddress: "0.0.0.0" endIPAddress: "255.255.255.255" name: "AllowAll" sslEnforcementや firewallRulesの内容 が気になる……
  • 11. デプロイされたDatabase for MySQLの情報参照 OSBAで作成されたMySQLの必要な パラメータはServiceBindingで Secretに変換できる Secret “mysql-secret” にOSBAが作成 したMySQLの各種情報が格納され る 11 Copyright© 2018, Y.Katakura All Rights Reserved. apiVersion: servicecatalog.k8s.io/v1beta1 kind: ServiceBinding metadata: name: mysql-servicebinding spec: instanceRef: name: wp-mysql secretName: mysql-secret $ kubectl get secret mysql-secret -o yaml apiVersion: v1 data: database: eWhiZGQycHkwMg== host: ZDg0ZTU2ODgtZDJkNC00ODc4LWFiYmYtOGEzODk0ZjJ lNDcwLm15c3FsLmRhdGFiYXNlLmF6dXJlLmNvbQ== password: cDhRQWVYN0JQN2x6a1JXRQ== port: MzMwNg== sslRequired: ZmFsc2U= tags: WyJteXNxbCJd (以下略) Secret内の文字列は Base 64エンコードさ れているんだね
  • 12. これでWordPressのデプロイもkubectlだけ でできちゃうぜ OSBAにてAzure Database for MySQL作成 Secretから参照するためのServiceBinding作成 Azure Managed Diskを動的ストレージで作成 LoadBalancerを作成(TCP/80を空ける) WordPressのDeploymentを作成 12 Copyright© 2018, Y.Katakura All Rights Reserved. $ kubectl apply –f mysql-ServiceInstance.yaml $ kubectl apply –f mysql-ServiceBinding.yaml $ kubectl apply –f wp-Storage.yaml $ kubectl apply –f wp-lb.yaml $ kubectl apply –f wp-Service.yaml 今回はシンプルに httpアクセスのみ で
  • 13. 超簡単 13 Copyright© 2018, Y.Katakura All Rights Reserved. 「保護されていない通信」 ……か
  • 14. 気づいたところ 今はまだSQL DB, MySQL, PostgreSQLしか対応してい ないが今後に期待 今回はMySQLを試したけど初期で作成したDB, User, Passwordから変更不可 よりセキュアな構成にするためのAzure Service Endpoint等を使うにはやはり直接Azureリソースを いじる必要がある 14 Copyright© 2018, Y.Katakura All Rights Reserved. ない機能は参加して自分達 で作ろう(
  • 15. 参考資料 15 Copyright© 2018, Y.Katakura All Rights Reserved. MS公式ドキュメントによるOSBAのインストール方法 https://docs.microsoft.com/ja-jp/azure/aks/integrate-azure 今回の資料で使用したyamlファイル一式 https://github.com/katakura/osba-sample 要するにこのスライドだけ あればいいんだね