SlideShare a Scribd company logo
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

More Related Content

PDF
Ingress on Azure Kubernetes Service
PDF
Migrate mastodon instance to Azure from AWS
PDF
[Azure Deep Dive] Azure ネットワーキングを理解しよう!
PDF
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
PDF
Microsoft Azureから使うLinux
PPTX
第15回JSSUG「Azure SQL Database 超入門」
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Ingress on Azure Kubernetes Service
Migrate mastodon instance to Azure from AWS
[Azure Deep Dive] Azure ネットワーキングを理解しよう!
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
Microsoft Azureから使うLinux
第15回JSSUG「Azure SQL Database 超入門」
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー

What's hot (17)

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

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

PDF
Azure Kubernetes Service Overview
PPTX
Running Kubernetes on Azure
PDF
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
PPTX
Container x azure x kubernetes
PPTX
IoTのEgeにもコンテナがやってきた
PDF
あなたとわたしの仲介人♡サービスブローカー
PPTX
Ceonnect(): 2018 Japan AKS (Yoshio Terada)
PDF
Azure で Kubernetes を使う実践的なテクニック
Azure Kubernetes Service Overview
Running Kubernetes on Azure
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
Container x azure x kubernetes
IoTのEgeにもコンテナがやってきた
あなたとわたしの仲介人♡サービスブローカー
Ceonnect(): 2018 Japan AKS (Yoshio Terada)
Azure で Kubernetes を使う実践的なテクニック
Ad

More from Yoshimasa Katakura (7)

PDF
Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
PDF
Azure bastion ignite the tour @tokyo 2019
PDF
Azure Network Security Group(NSG) はじめてのDeep Dive
PDF
(Fix)Azure Network Security Group(NSG)のおさらい
PDF
My drivingではじめるazure IoT
PDF
Jazug7周年LT(片倉義昌)
PPTX
Jazug6周年lt(片倉義昌)
Azure Cognitive Serviceの感情分析を使って自分を見つめ直す
Azure bastion ignite the tour @tokyo 2019
Azure Network Security Group(NSG) はじめてのDeep Dive
(Fix)Azure Network Security Group(NSG)のおさらい
My drivingではじめるazure IoT
Jazug7周年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 要するにこのスライドだけ あればいいんだね