SlideShare a Scribd company logo
kubernetes on Azure
最新情報
Global Azure Boot Camp 2018 Tokyo Lightning Talk
田中 孝佳 @tanaka_733
自己紹介 @tanaka_733
◦ Software Maintenance Engineer @ Red Hat
◦ OpenShift (on Azure)
◦ .NET Core on RHEL/OpenShift
◦ SQL Server on RHEL etc…
◦ Microsoft MVP
◦ C# とか Visual Studio拡張とか
◦ 最近はQ#とかトポロジカル量子コンピューターもやってます
今日のテーマ
kubernetes on Azure の最新機能ご紹介
◦AKSではなく、あくまでkubernetes本体の機能
◦kubernetesをAzureに自前展開すれば使える
オープンな機能の部分が対象
◦kubernetes 1.9.zあたりの更新を中心に
APIの認証にMSIが利用可能に
kubernetesからAzureのリソースを制御するのに認証が必要
◦ 永続化ディスク用のAzure Diskの脱着
◦ ServiceとしてのLoadBalancerの管理
◦ etc
従来はAzure AD Appを作成してIDとパスワードを平文で格納
していた
➔ Managed Service Identity (MSI) でパスワードレスに
https://github.com/kubernetes/kubernetes/pull/48854
APIの認証にMSIが利用可能に
tenantId: xxx-xxx
subscriptionId: xxx-xxx
resourceGroup: k8sgroup
location: centralus
useManagedIdentityExtension: true
SecurityGroupName: k8s-nsg
tenantId: xxx-xxx
subscriptionId: xxx-xxx
aadClientId: xxx-xxx
aadClientSecret: xxx-xxx
resourceGroup: k8sgroup
location: centralus
SecurityGroupName: k8s-nsg
Use Instance Metadata
自分自身の情報を取得するのにREST APIを利用していた
◦ なお、kubernetesのノード名=AzureのVM名という前提がある
その代わりにInstance Metadataを利用できるように
https://github.com/kubernetes/kubernetes/pull/48243
https://github.com/kubernetes/kubernetes/pull/49237
Instance Metadataを利用することでAPI呼び出しの削減
◦ また、API呼び出しが5xxエラーになることなどもあり、
随時リトライ処理の改善などが行われている
Use Instance Metadata
tenantId: xxx-xxx
subscriptionId: xxx-xxx
resourceGroup: k8sgroup
location: centralus
useManagedIdentityExtension: true
useInstanceMetadata: true
SecurityGroupName: k8s-nsg
Azure Fileまわりの改善
Azure Fileを永続化ディスクとしてマウントする機能
マウント時のデフォルトパーミッションが0755に
https://github.com/kubernetes/kubernetes/pull/56551
マウントオプションをPersistent VolumeもしくはStorage Classで指定可能に
https://github.com/kubernetes/kubernetes/pull/54674
storage account keyを格納するsecretの名前空間を指定可能に
https://github.com/kubernetes/kubernetes/pull/47660
Azure FileのMount Option
kind: StorageClass
metadata:
name: azurefile
provisioner: kubernetes.io/azure-file
mountOptions:
- dir_mode=0777
- file_mode=0777
parameters:
storageAccount: k8sstr
location: centralus
kind: "PersistentVolume"
metadata:
name: "pvfile02"
spec:
capacity:
storage: "5Gi"
accessModes:
- "ReadWriteMany"
azureFile:
secretNamespace: common
secretName: azurefile-secret
shareName: pvshare
readOnly: false
mountOptions:
- dir_mode=0777
- file_mode=0777
Azure Load Balancerに
public DNSを設定可能に
kind=LoadBalancerなサービスでALBをプロビジョンできる
public IPに設定するDNSラベルをannotationで指定できるようになった
◦ https://github.com/kubernetes/kubernetes/pull/47849
kind: Service
apiVersion: v1
metadata:
name: hello
annotations:
service.beta.kubernetes.io/azure-dns-label-name: myservice
spec:
type: LoadBalancer
selector:
app: hello
tier: backend
ports:
- protocol: TCP
可用性セットごとに
ALBを構成できるようになった
デフォルトだと一つのALBで複数のサービスを公開する=複数のfontend IPを構成
複数の可用性セットがある場合、可用性セットごとにALBを構成できるように
➔ なぜかドキュメントが一切なく、ソースコード見ないと分からない...
kind: Service
apiVersion: v1
metadata:
name: hello
annotations:
service.beta.kubernetes.io/azure-load-balancer-mode: as1,as2
spec:
type: LoadBalancer
selector:
app: hello
tier: backend
ports:
Internal Load Balancerで
subnetsを指定可能に
kind=LoadBalancerでさらにInternal Load Balancerを指定した場合、
frontendのIPアドレスをデフォルト以外のsubnetから指定できるようになった
◦ https://github.com/kubernetes/kubernetes/pull/51757
kind: Service
apiVersion: v1
metadata:
name: hello-int-a
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "additional-subnet"
spec:
type: LoadBalancer
selector:
app: hello
tier: backend
ports:
- protocol: TCP
Azure Regional Cloud や
Azure Stackで動く?
k8s本体はAzureに依存していないので当然うごく
Azure Cloud Providerについて
Azure Regional Cloud:
Azure File以外はk8s 1.6くらいから動くはず。
Azure Fileは最近のFixで動くはず。
Azure Stack:
APIエンドポイントを変更できないので(コード修正なしでは)動かないはず
Windows Server サポートは?
絶賛開発進行中なので、興味のある人はこちらから。
https://kubernetes.io/docs/getting-started-guides/windows/
https://docs.microsoft.com/ja-
jp/virtualization/windowscontainers/kubernetes/getting-started-kubernetes-
windows
Azure Cloud Providerとは別のSIGで動いているけど、
Windows Server & Azure Cloud Providerな機能も当然ある。
いまのところ、Nodeとしてのサポートのみ。
k8s 1.10での追加
VMSSのサポート
https://github.com/kubernetes/features/issues/513
Azure FileでfsGroupの追加
https://github.com/kubernetes/kubernetes/pull/58316
PrometheusでAzureAPI呼び出しの監視をサポート
https://github.com/kubernetes/kubernetes/pull/58204
Azure Diskでのマウントオプションのサポート
https://github.com/kubernetes/kubernetes/pull/56147
おまけ
機能追加はどこでチェックする?
Release Notesをバージョンごとにチェックしましょう
https://github.com/kubernetes/kubernetes/blob/master/CHANG
ELOG-1.9.md
https://github.com/kubernetes/kubernetes/blob/master/CHANG
ELOG-1.10.md
リンクされているissueにタグがついてるけど不正確なので
最終的にはコミット履歴を確認
複数のマイナーバージョンにコミットされる場合もある
ドキュメントは…?
本家のドキュメントがあるけど、わりと足りていない。
前提条件が抜けていることがあるので
その場合は地道にソースコードを見て調べましょう
OpenShift をご購入いただけるとk8s on Azureの部分もサ
ポート
◦ 適宜本家のドキュメントにPRを出して改善しています

More Related Content

PDF
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
PPTX
Virtual Kubelet and Virtual Node
PDF
Azure Updates from Build 2021
PDF
俺的 Ignite 2021 Spring Update まとめ ミニ
PPTX
深層学習 環境構築 Azure
PPTX
AKS (k8s) Hands on Lab Contents
PDF
俺的 Build 2020 Update まとめ
PPTX
AzureDevOpsの機能解説
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Virtual Kubelet and Virtual Node
Azure Updates from Build 2021
俺的 Ignite 2021 Spring Update まとめ ミニ
深層学習 環境構築 Azure
AKS (k8s) Hands on Lab Contents
俺的 Build 2020 Update まとめ
AzureDevOpsの機能解説

What's hot (20)

PDF
2021/6/29 Azure Hybrid and Multicloud Digital Event の内容を日本語でお届け!
PDF
Azure Arcで「どこでも」Azureサービスを利用可能に!
PPTX
How to face the Kubernetes ?
PDF
Terraforming Windows Virtual Desktop Infrastructure on Azure
PPTX
Client Side Balzorでツールを作ってみた
PDF
Introduction of Azure Docker Integration
PDF
インフラ管理者に送る あらためての IoT Edge / IoT Hub
PPTX
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
PDF
Non-coding! Azure
PDF
Windows Azure Storage Client 2.1 のBuffer Pooling
PPTX
AzureStorageのオブジェクトレプリケートを試してみた
PDF
俺的 Ignite 2021 Fall Update まとめ
PPTX
AKS と ACI を組み合わせて使ってみた
PDF
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
PDF
20170629 技術者向けazure stack_paas
PPTX
ワタシハ Azure Functions チョットデキル
PDF
Azure Cosmos DB Always Encrypted
PDF
Dell EMC の Azure Stack と GPU
PDF
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
PPTX
第15回JSSUG「Azure SQL Database 超入門」
2021/6/29 Azure Hybrid and Multicloud Digital Event の内容を日本語でお届け!
Azure Arcで「どこでも」Azureサービスを利用可能に!
How to face the Kubernetes ?
Terraforming Windows Virtual Desktop Infrastructure on Azure
Client Side Balzorでツールを作ってみた
Introduction of Azure Docker Integration
インフラ管理者に送る あらためての IoT Edge / IoT Hub
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
Non-coding! Azure
Windows Azure Storage Client 2.1 のBuffer Pooling
AzureStorageのオブジェクトレプリケートを試してみた
俺的 Ignite 2021 Fall Update まとめ
AKS と ACI を組み合わせて使ってみた
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
20170629 技術者向けazure stack_paas
ワタシハ Azure Functions チョットデキル
Azure Cosmos DB Always Encrypted
Dell EMC の Azure Stack と GPU
「Azure Arc対応データサービス」でどこでもAzureデータサービス実行
第15回JSSUG「Azure SQL Database 超入門」
Ad

Similar to kubernetes on Azure 最新情報 (19)

PDF
俺的 Build Update まとめ
PPTX
Running Kubernetes on Azure
PDF
Azure Kubernetes Service Overview
PPTX
Container x azure x kubernetes
PDF
Azure DevOpsとセキュリティ
PDF
俺的 Ignite Update まとめ 2019
PDF
それでもボクはMicrosoft Azure を使う
PDF
Azure update flash
PDF
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
PDF
今改めて学ぶ Microsoft Azure 基礎知識
PPTX
Running Kubernetes on Azure
PDF
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
PDF
20230617_WSCUGJ_HybridCloud.pdf
PDF
Building andobservingcloudnativeappliactionusingazure elastic-terraform
PDF
Azure で Kubernetes を使う実践的なテクニック
PPTX
20170624 interact2017 open shift on azure
PPTX
Azureでクラウドを何となく理解する
PDF
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
PDF
Windows Azureを利用したDevOps入門
俺的 Build Update まとめ
Running Kubernetes on Azure
Azure Kubernetes Service Overview
Container x azure x kubernetes
Azure DevOpsとセキュリティ
俺的 Ignite Update まとめ 2019
それでもボクはMicrosoft Azure を使う
Azure update flash
Kubernetes on Azure ~Azureで便利にKubernetesを利用する~
今改めて学ぶ Microsoft Azure 基礎知識
Running Kubernetes on Azure
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
20230617_WSCUGJ_HybridCloud.pdf
Building andobservingcloudnativeappliactionusingazure elastic-terraform
Azure で Kubernetes を使う実践的なテクニック
20170624 interact2017 open shift on azure
Azureでクラウドを何となく理解する
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Windows Azureを利用したDevOps入門
Ad

More from Takayoshi Tanaka (20)

PDF
deep dive distributed tracing
PPTX
202202 open telemetry .net handson
PPTX
202109-New_Relic-for-csharp-engineers
PDF
20210129 azure webapplogging
PDF
20201127 .NET 5
PPTX
Unity(再)入門
PPTX
最近のQ#について
PDF
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
PDF
20191024 Get Start gRPC with ASP.NET
PDF
New Relicで始める、.NET Applications on AWSのObservability
PPTX
C#エンジニアのためのdocker kubernetesハンズオン (再)
PPTX
20190806 Q# Measurements
PPTX
C#エンジニアのためのdocker kubernetesハンズオン
PDF
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
PDF
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
PDF
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
PDF
Try! Visual Studio 209 git feature
PDF
Q#基礎 ver1.1
PDF
(過去バージョン) Q#基礎 ver1.0
PDF
ゼロから始めるQ#
deep dive distributed tracing
202202 open telemetry .net handson
202109-New_Relic-for-csharp-engineers
20210129 azure webapplogging
20201127 .NET 5
Unity(再)入門
最近のQ#について
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
20191024 Get Start gRPC with ASP.NET
New Relicで始める、.NET Applications on AWSのObservability
C#エンジニアのためのdocker kubernetesハンズオン (再)
20190806 Q# Measurements
C#エンジニアのためのdocker kubernetesハンズオン
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
Try! Visual Studio 209 git feature
Q#基礎 ver1.1
(過去バージョン) Q#基礎 ver1.0
ゼロから始めるQ#

kubernetes on Azure 最新情報