SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
New features of
Azure Cloud Provider
in OpenShift 3.10
Takayoshi Tanaka, Software Maintenance Engineer
tatanaka@redhat.com
Takeaways
Let you know Azure Cloud Provider is getting more and
more useful.
Let you know some upstream project/feature can work on
OpenShift (however, without support)
Agenda
What’s Azure Cloud Provider in OpenShift
Big Changes for Azure Cloud Provider
Experimental Features
Azure Cloud Provider
Concepts Underlying the Cloud Controller Manager
Azure Cloud Provider
kubernetes:
◦integrating Cloud features
◦Azure is one of the implementations
OpenShift
◦includes kubernetes
= almost all Cloud Provider features could work
◦Our tested features is describes in product documents
OpenShift 3.10 on Azure
includes kubernetes 1.10 – actually 1.10.1 + α
kubernetes now supports, but OpenShift doesn’t:
◦ cluster auto scale
◦ https://github.com/feiskyer/autoscaler/blob/master/cluster-
autoscaler/cloudprovider/azure/README.md
◦ Azure VM Scale Set
Private Preview in OpenShift in the future
◦ Windows Container Support
◦ If you have an interest, contact Red Hat sales in charge of you, or me.
Red Hat OpenShift on Azure
https://www.redhat.com/en/about/press-releases/red-hat-and-microsoft-co-
develop-first-red-hat-openshift-jointly-managed-service-public-cloud
https://azure.microsoft.com/en-gb/blog/openshift-on-azure-the-easiest-fully-managed-
openshift-in-the-cloud/
https://www.youtube.com/watch?v=WDr9TSyK9DA
Looking back the announcment
10000 feet overview
◦ Launch OpenShift cluster with one command
◦ First-class citizen in Azure
◦ Including Open Service Broker for Azure
If you have an interest, please contact me later. I'll pass your info to our team.
$ az openshift create -n oscluster -g osrg `
–node-vm-size Standard_DS4_v3`
--l eastus
Before starting…
Requirements for Azure Cloud Provider
Virtual Machines (VMs) must belong to a single resource group & VNET
VM name requirement ➔ Next page
Internal Load Balancer is unavailable for master public end point
OCP 3.7 or later is required for Managed Disk
Service Type: LoadBalancer supports only Basic Azure Load Balancer
◦ Node VMs must belong to Availability Set (* I’ll explain later)
Sovereign Cloud (Azure Germany, China etc) are available.
◦ Some extra configurations are required
VM scale set is not tested in OCP
Node Name = VM name:
DO NOT include capital letters
Be sure these values are same
◦ Azure VM name: az vm create –n <name>
◦ Internal DNS Name: az nic create --internal-dns-name <name>
◦ Hostname (DO not edit manually)
◦ OpenShift node name (inventory file)
This name should not include capital letters
◦ OK: ocp-node1
◦ NG: OCP-Node1
Big Changes
Big Changes
Installer Improvement
Upgrade Issue (3.9 to 3.10)
Azure Disk/File Mount options
Azure File default permission changed to 0755
Improved Azure Disk mount/unmount performance
Installer Improvement:
Internal Hostname in Azure NIC
Be sure to set internal hostname in the Azure NIC.
- Create a new NIC
- Apply to the existing NIC
$ az network nic create -g MyResourceGroup --vnet-
name MyVnet --subnet MySubnet -n MyNic --internal-
dns-name node1
$ az network nic update -g MyResourceGroup -
n MyNic --internal-dns-name node1
Installer Improvement:
Support creating azure.conf
Advanced installer creates azure.conf.
Note: If you need more parameters such as VNET or security group,
you have to add them to azure.conf and restart services manually.
openshift_cloudprovider_kind=azure
openshift_cloudprovider_azure_client_id=<AAD_app_id>
openshift_cloudprovider_azure_client_secret=<AAD_password>
openshift_cloudprovider_azure_tenant_id=<AAD_tenant_id>
openshift_cloudprovider_azure_subscription_id=<subscription_id>
openshift_cloudprovider_azure_resource_group=<resource_group_name>
openshift_cloudprovider_azure_location=<location>
How to create a service principal?
Execute the following three commands.
If you’re using Azure Cloud Shell, try the following script.
https://gist.github.com/tanaka-
takayoshi/802fcfbd8d544495977c2e8660604bc3
$ az account show -o json
$ az group show -n <resource_group_name> -o json
$ az ad sp create-for-rbac --name <app_name> --role
contributor --scopes <resource_group_id> -o json
Installer Improvement:
Support creating storage class
Advanced installer creates storage class for Azure Disk/File.
openshift_storageclass_name=slow-disk
openshift_storageclass_provisioner=azure-disk
openshift_storageclass_parameters={'storageaccounttype'
: 'Standard_LRS', 'kind': 'Managed'}
Upgrade Issue (3.9 to 3.10):
relocate azure.conf
OpenShift 3.10 doesn’t allow to locate azure.conf under /etc/azure.
Use /etc/origin/cloudprovider instead of /etc/azure.
Before upgrading the cluster, please copy the file and edit the master and
node configuration files.
Azure Disk/File Mount options
You can specify mount options for Azure Disk and Azure File as a Volume.
Storage Class and Persistent Volume has a mountOptions parameters.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: slow
mountOptions:
- dir_mode=0777
- file_mode=0777
parameters:
kind: Managed
storageaccounttype: Standard_LRS
provisioner: kubernetes.io/azure-disk
reclaimPolicy: Delete
apiVersion: v1
kind: PersistentVolume
metadata:
name: static-pv-file
spec:
accessModes:
- ReadWriteOnce
azureFile:
secretName: azure-secret
secretNamespace: openshift
shareName: share1
capacity:
storage: 1Gi
mountOptions:
- dir_mode=0777
- file_mode=0777
persistentVolumeReclaimPolicy: Delete
Azure File default permission
changed to 0755
The permission changed from 0777 to 0755. (at OCP 3.9 or newer)
The owner of the directory is different from the UID of container by default.
◦ https://docs.openshift.com/container-
platform/3.10/install_config/persistent_storage/persistent_storage_azure_file.html#azu
re-file-before-you-begin
Configure mountOptions to ensure the permission.
Use SecurityContext to run a container by specific GID. (OCP 3.10)
Use SecurityContext (RunAsUser) & mountOptions (uid) to run a
container by specific UID.
Improved Azure Disk
mount/unmount performance
It takes huge time to unmount and mount an Azure Disk when a new version of pod is
located another node.
It could happen when a new version of pod is located to a different node than the node
where a current version of pod is running.
pod pod
Experimental
Features
RED HAT DOESN’T TESTED THESE FEATURES.
Advanced Options
Internal Load Balancer
Internal Load Balancer with subnet
DNS Label name
https://github.com/kubernetes/cloud-provider-azure/blob/master/docs/development-
loadbalancer.md
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet"
annotations:
service.beta.kubernetes.io/azure-dns-label-name: ""
Experimental Features
Advanced Options for ServiceType: LoadBalancer
Azure REST API authentication
Monitoring
Service Type: LoadBalancer
Node Virtual Machines
apiVersion: v1
kind: Service
metadata:
name: alb-svc
spec:
loadBalancerIP: 40.121.183.52
type: LoadBalancer
ports:
- port: 80
selector:
app: my-app
IP should be created in advance.
Or you don’t have to specify the ip.
Service Type: LoadBalancer
for huge cluster
One Availability Set has maximum 200 VMs.
If you deploy over 200 OpenShift nodes,
you have to deploy two or more
AvailabilitySet.
One ALB can have only one AvailabilitySet.
So, you have to deploy one ALB per
AvailabilitySet.
Node VMs – group A Node VMs – group B
annotations:
service.beta.kubernetes.io/azure-load-balancer-mode: “group-a,group-b"
Azure REST API authentication:
Managed Service Identity
Managed Service Identity:
◦ You don’t have to provide password to configuration file
◦ https://docs.microsoft.com/en-us/azure/active-directory/managed-service-
identity/overview
Steps
◦ Enable MSI on all VMs for OpenShift nodes
◦ Grant your VM access to a Resource Group
◦ Update azure.conf
useManagedIdentityExtension: true
aadClientId:
aadClientSecret:
 Remove two lines
 Add this line
Monitoring - Prometheus
Prometheus monitors Azure API Request Duration Seconds & Error.
◦ Prometheus is Technology Preview at 3.10

Más contenido relacionado

La actualidad más candente

Azure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish KalamatiAzure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish KalamatiGirish Kalamati
 
How to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozieHow to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozieTiago Simões
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For DevelopmentLaura Frank Tacho
 
How to create a secured cloudera cluster
How to create a secured cloudera clusterHow to create a secured cloudera cluster
How to create a secured cloudera clusterTiago Simões
 
Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s Ranjeet Bhargava
 
OpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudOpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudIsaac Christoffersen
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSLaura Frank Tacho
 
Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik Huang
 
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...Erwin de Kreuk
 
AutoScaling and Drupal
AutoScaling and DrupalAutoScaling and Drupal
AutoScaling and DrupalPromet Source
 
How to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architectureHow to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architectureTiago Simões
 
Ansible with oci
Ansible with ociAnsible with oci
Ansible with ociDonghuKIM2
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayAmazon Web Services Korea
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Hyun-Mook Choi
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServiceJosh Padnick
 
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build SystemIntroduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build SystemHubSpot Product Team
 
Amazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep DiveAmazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep DiveAmazon Web Services
 
Distributed automation sel_conf_2015
Distributed automation sel_conf_2015Distributed automation sel_conf_2015
Distributed automation sel_conf_2015aragavan
 

La actualidad más candente (20)

Azure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish KalamatiAzure from scratch part 5 By Girish Kalamati
Azure from scratch part 5 By Girish Kalamati
 
How to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozieHow to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozie
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
How to create a secured cloudera cluster
How to create a secured cloudera clusterHow to create a secured cloudera cluster
How to create a secured cloudera cluster
 
Packer
Packer Packer
Packer
 
Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s Dockerized .Net Core based app services in azure K8s
Dockerized .Net Core based app services in azure K8s
 
OpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudOpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid Cloud
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
 
Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1
 
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
DatamindsConnect2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory ho...
 
AutoScaling and Drupal
AutoScaling and DrupalAutoScaling and Drupal
AutoScaling and Drupal
 
How to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architectureHow to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architecture
 
Ansible with oci
Ansible with ociAnsible with oci
Ansible with oci
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
 
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build SystemIntroduction to Packer and Suitcase: A Packer-based OS Image Build System
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
 
Amazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep DiveAmazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep Dive
 
Distributed automation sel_conf_2015
Distributed automation sel_conf_2015Distributed automation sel_conf_2015
Distributed automation sel_conf_2015
 
70 533 study material
70 533 study material70 533 study material
70 533 study material
 

Similar a New features of Azure Cloud Provider at OCP 3.10

Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure EnvironmentMichael Collier
 
Deep Dive OpenShitt on Azure & .NET Core on OpenShift
Deep Dive OpenShitt on Azure & .NET Core on OpenShiftDeep Dive OpenShitt on Azure & .NET Core on OpenShift
Deep Dive OpenShitt on Azure & .NET Core on OpenShiftTakayoshi Tanaka
 
DataSaturdayNL 2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory h...
DataSaturdayNL 2019  Azure Key Vault, Azure Dev Ops and Azure Data Factory  h...DataSaturdayNL 2019  Azure Key Vault, Azure Dev Ops and Azure Data Factory  h...
DataSaturdayNL 2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory h...Erwin de Kreuk
 
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data FactorTechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data FactorErwin de Kreuk
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Davide Benvegnù
 
Monitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesMonitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesAmazon Web Services
 
Deploying your web application with AWS ElasticBeanstalk
Deploying your web application with AWS ElasticBeanstalkDeploying your web application with AWS ElasticBeanstalk
Deploying your web application with AWS ElasticBeanstalkJulien SIMON
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsAndrey Karpov
 
Extending Kubectl.pptx
Extending Kubectl.pptxExtending Kubectl.pptx
Extending Kubectl.pptxLibbySchulze
 
Automating Windows Azure
Automating Windows AzureAutomating Windows Azure
Automating Windows AzureIdo Flatow
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applicationsManish Corriea
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiGirish Kalamati
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAlexander Feschenko
 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud serviceJeffray Huang
 
Azure DevOps Deployment Group
Azure DevOps Deployment GroupAzure DevOps Deployment Group
Azure DevOps Deployment GroupRiwut Libinuko
 
Mvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMO
Mvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMOMvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMO
Mvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMOKumton Suttiraksiri
 
Microsoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberMicrosoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberDaniel Toomey
 
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsAzure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsWinWire Technologies Inc
 

Similar a New features of Azure Cloud Provider at OCP 3.10 (20)

Automating Your Azure Environment
Automating Your Azure EnvironmentAutomating Your Azure Environment
Automating Your Azure Environment
 
Deep Dive OpenShitt on Azure & .NET Core on OpenShift
Deep Dive OpenShitt on Azure & .NET Core on OpenShiftDeep Dive OpenShitt on Azure & .NET Core on OpenShift
Deep Dive OpenShitt on Azure & .NET Core on OpenShift
 
DataSaturdayNL 2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory h...
DataSaturdayNL 2019  Azure Key Vault, Azure Dev Ops and Azure Data Factory  h...DataSaturdayNL 2019  Azure Key Vault, Azure Dev Ops and Azure Data Factory  h...
DataSaturdayNL 2019 Azure Key Vault, Azure Dev Ops and Azure Data Factory h...
 
AWS Serverless Workshop
AWS Serverless WorkshopAWS Serverless Workshop
AWS Serverless Workshop
 
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data FactorTechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
TechnoramaNL Azure Key Vault, Azure Dev Ops and Azure Data Factor
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
 
Monitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesMonitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar Series
 
Deploying your web application with AWS ElasticBeanstalk
Deploying your web application with AWS ElasticBeanstalkDeploying your web application with AWS ElasticBeanstalk
Deploying your web application with AWS ElasticBeanstalk
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
 
Extending Kubectl.pptx
Extending Kubectl.pptxExtending Kubectl.pptx
Extending Kubectl.pptx
 
Automating Windows Azure
Automating Windows AzureAutomating Windows Azure
Automating Windows Azure
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShell
 
Java and windows azure cloud service
Java and windows azure cloud serviceJava and windows azure cloud service
Java and windows azure cloud service
 
Azure DevOps Deployment Group
Azure DevOps Deployment GroupAzure DevOps Deployment Group
Azure DevOps Deployment Group
 
Mvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMO
Mvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMOMvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMO
Mvpskill Saturday EP_37 12 Sept 2563 - Azure Products Update + DEMO
 
Microsoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberMicrosoft Azure News - 2018 December
Microsoft Azure News - 2018 December
 
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsAzure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
 

Más de Takayoshi Tanaka

deep dive distributed tracing
deep dive distributed tracingdeep dive distributed tracing
deep dive distributed tracingTakayoshi Tanaka
 
202202 open telemetry .net handson
202202 open telemetry .net handson202202 open telemetry .net handson
202202 open telemetry .net handsonTakayoshi Tanaka
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineersTakayoshi Tanaka
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapploggingTakayoshi Tanaka
 
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法SRENEXT 2020 [B5] New RelicのSREに学ぶSREのためのNew Relic活用法
SRENEXT 2020 [B5] New RelicのSREに学ぶ SREのためのNew Relic活用法Takayoshi Tanaka
 
20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NET20191024 Get Start gRPC with ASP.NET
20191024 Get Start gRPC with ASP.NETTakayoshi Tanaka
 
New Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityNew Relicで始める、.NET Applications on AWSのObservability
New Relicで始める、.NET Applications on AWSのObservabilityTakayoshi Tanaka
 
C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)C#エンジニアのためのdocker kubernetesハンズオン (再)
C#エンジニアのためのdocker kubernetesハンズオン (再)Takayoshi Tanaka
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンTakayoshi Tanaka
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...Takayoshi Tanaka
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studio 2019の機能Takayoshi Tanaka
 
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能
.NET Core向けコンテナおよびデバッグ関連のVisual Studioの新機能Takayoshi Tanaka
 
Try! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTry! Visual Studio 209 git feature
Try! Visual Studio 209 git featureTakayoshi Tanaka
 
(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0(過去バージョン) Q#基礎 ver1.0
(過去バージョン) Q#基礎 ver1.0Takayoshi Tanaka
 

Más de Takayoshi Tanaka (20)

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

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

New features of Azure Cloud Provider at OCP 3.10

  • 1. New features of Azure Cloud Provider in OpenShift 3.10 Takayoshi Tanaka, Software Maintenance Engineer tatanaka@redhat.com
  • 2. Takeaways Let you know Azure Cloud Provider is getting more and more useful. Let you know some upstream project/feature can work on OpenShift (however, without support)
  • 3. Agenda What’s Azure Cloud Provider in OpenShift Big Changes for Azure Cloud Provider Experimental Features
  • 4. Azure Cloud Provider Concepts Underlying the Cloud Controller Manager
  • 5. Azure Cloud Provider kubernetes: ◦integrating Cloud features ◦Azure is one of the implementations OpenShift ◦includes kubernetes = almost all Cloud Provider features could work ◦Our tested features is describes in product documents
  • 6. OpenShift 3.10 on Azure includes kubernetes 1.10 – actually 1.10.1 + α kubernetes now supports, but OpenShift doesn’t: ◦ cluster auto scale ◦ https://github.com/feiskyer/autoscaler/blob/master/cluster- autoscaler/cloudprovider/azure/README.md ◦ Azure VM Scale Set Private Preview in OpenShift in the future ◦ Windows Container Support ◦ If you have an interest, contact Red Hat sales in charge of you, or me.
  • 7. Red Hat OpenShift on Azure https://www.redhat.com/en/about/press-releases/red-hat-and-microsoft-co- develop-first-red-hat-openshift-jointly-managed-service-public-cloud https://azure.microsoft.com/en-gb/blog/openshift-on-azure-the-easiest-fully-managed- openshift-in-the-cloud/ https://www.youtube.com/watch?v=WDr9TSyK9DA
  • 8. Looking back the announcment 10000 feet overview ◦ Launch OpenShift cluster with one command ◦ First-class citizen in Azure ◦ Including Open Service Broker for Azure If you have an interest, please contact me later. I'll pass your info to our team. $ az openshift create -n oscluster -g osrg ` –node-vm-size Standard_DS4_v3` --l eastus
  • 9.
  • 10. Before starting… Requirements for Azure Cloud Provider Virtual Machines (VMs) must belong to a single resource group & VNET VM name requirement ➔ Next page Internal Load Balancer is unavailable for master public end point OCP 3.7 or later is required for Managed Disk Service Type: LoadBalancer supports only Basic Azure Load Balancer ◦ Node VMs must belong to Availability Set (* I’ll explain later) Sovereign Cloud (Azure Germany, China etc) are available. ◦ Some extra configurations are required VM scale set is not tested in OCP
  • 11. Node Name = VM name: DO NOT include capital letters Be sure these values are same ◦ Azure VM name: az vm create –n <name> ◦ Internal DNS Name: az nic create --internal-dns-name <name> ◦ Hostname (DO not edit manually) ◦ OpenShift node name (inventory file) This name should not include capital letters ◦ OK: ocp-node1 ◦ NG: OCP-Node1
  • 13. Big Changes Installer Improvement Upgrade Issue (3.9 to 3.10) Azure Disk/File Mount options Azure File default permission changed to 0755 Improved Azure Disk mount/unmount performance
  • 14. Installer Improvement: Internal Hostname in Azure NIC Be sure to set internal hostname in the Azure NIC. - Create a new NIC - Apply to the existing NIC $ az network nic create -g MyResourceGroup --vnet- name MyVnet --subnet MySubnet -n MyNic --internal- dns-name node1 $ az network nic update -g MyResourceGroup - n MyNic --internal-dns-name node1
  • 15. Installer Improvement: Support creating azure.conf Advanced installer creates azure.conf. Note: If you need more parameters such as VNET or security group, you have to add them to azure.conf and restart services manually. openshift_cloudprovider_kind=azure openshift_cloudprovider_azure_client_id=<AAD_app_id> openshift_cloudprovider_azure_client_secret=<AAD_password> openshift_cloudprovider_azure_tenant_id=<AAD_tenant_id> openshift_cloudprovider_azure_subscription_id=<subscription_id> openshift_cloudprovider_azure_resource_group=<resource_group_name> openshift_cloudprovider_azure_location=<location>
  • 16. How to create a service principal? Execute the following three commands. If you’re using Azure Cloud Shell, try the following script. https://gist.github.com/tanaka- takayoshi/802fcfbd8d544495977c2e8660604bc3 $ az account show -o json $ az group show -n <resource_group_name> -o json $ az ad sp create-for-rbac --name <app_name> --role contributor --scopes <resource_group_id> -o json
  • 17. Installer Improvement: Support creating storage class Advanced installer creates storage class for Azure Disk/File. openshift_storageclass_name=slow-disk openshift_storageclass_provisioner=azure-disk openshift_storageclass_parameters={'storageaccounttype' : 'Standard_LRS', 'kind': 'Managed'}
  • 18. Upgrade Issue (3.9 to 3.10): relocate azure.conf OpenShift 3.10 doesn’t allow to locate azure.conf under /etc/azure. Use /etc/origin/cloudprovider instead of /etc/azure. Before upgrading the cluster, please copy the file and edit the master and node configuration files.
  • 19. Azure Disk/File Mount options You can specify mount options for Azure Disk and Azure File as a Volume. Storage Class and Persistent Volume has a mountOptions parameters. apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: slow mountOptions: - dir_mode=0777 - file_mode=0777 parameters: kind: Managed storageaccounttype: Standard_LRS provisioner: kubernetes.io/azure-disk reclaimPolicy: Delete apiVersion: v1 kind: PersistentVolume metadata: name: static-pv-file spec: accessModes: - ReadWriteOnce azureFile: secretName: azure-secret secretNamespace: openshift shareName: share1 capacity: storage: 1Gi mountOptions: - dir_mode=0777 - file_mode=0777 persistentVolumeReclaimPolicy: Delete
  • 20. Azure File default permission changed to 0755 The permission changed from 0777 to 0755. (at OCP 3.9 or newer) The owner of the directory is different from the UID of container by default. ◦ https://docs.openshift.com/container- platform/3.10/install_config/persistent_storage/persistent_storage_azure_file.html#azu re-file-before-you-begin Configure mountOptions to ensure the permission. Use SecurityContext to run a container by specific GID. (OCP 3.10) Use SecurityContext (RunAsUser) & mountOptions (uid) to run a container by specific UID.
  • 21. Improved Azure Disk mount/unmount performance It takes huge time to unmount and mount an Azure Disk when a new version of pod is located another node. It could happen when a new version of pod is located to a different node than the node where a current version of pod is running. pod pod
  • 22. Experimental Features RED HAT DOESN’T TESTED THESE FEATURES.
  • 23. Advanced Options Internal Load Balancer Internal Load Balancer with subnet DNS Label name https://github.com/kubernetes/cloud-provider-azure/blob/master/docs/development- loadbalancer.md annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet" annotations: service.beta.kubernetes.io/azure-dns-label-name: ""
  • 24. Experimental Features Advanced Options for ServiceType: LoadBalancer Azure REST API authentication Monitoring
  • 25. Service Type: LoadBalancer Node Virtual Machines apiVersion: v1 kind: Service metadata: name: alb-svc spec: loadBalancerIP: 40.121.183.52 type: LoadBalancer ports: - port: 80 selector: app: my-app IP should be created in advance. Or you don’t have to specify the ip.
  • 26. Service Type: LoadBalancer for huge cluster One Availability Set has maximum 200 VMs. If you deploy over 200 OpenShift nodes, you have to deploy two or more AvailabilitySet. One ALB can have only one AvailabilitySet. So, you have to deploy one ALB per AvailabilitySet. Node VMs – group A Node VMs – group B annotations: service.beta.kubernetes.io/azure-load-balancer-mode: “group-a,group-b"
  • 27. Azure REST API authentication: Managed Service Identity Managed Service Identity: ◦ You don’t have to provide password to configuration file ◦ https://docs.microsoft.com/en-us/azure/active-directory/managed-service- identity/overview Steps ◦ Enable MSI on all VMs for OpenShift nodes ◦ Grant your VM access to a Resource Group ◦ Update azure.conf useManagedIdentityExtension: true aadClientId: aadClientSecret:  Remove two lines  Add this line
  • 28. Monitoring - Prometheus Prometheus monitors Azure API Request Duration Seconds & Error. ◦ Prometheus is Technology Preview at 3.10