Feed abonnieren

Starting in Red Hat OpenShift 4.9 release, we are extending the infrastructure provider integration experience to a new platform, Azure Stack Hub, from Microsoft’s Azure Stack portfolio of products.

This will allow Microsoft customers to deploy Red Hat OpenShift on a user-provisioned infrastructure in Azure Stack Hub. Red Hat is planning to support full-stack automated deployments in coming releases. As part of this new provider integration certification, Red Hat makes Azure Resource Manager templates available to the customer to simplify the process of creating the required infrastructure where to deploy OpenShift.

Azure Stack Hub extends Azure services and capabilities to your environment of choice, letting you run OpenShift in an on-premise environment and deliver Azure services and OpenShift capabilities in your data centre. For many customers, due to technological and regulatory obstacles, their workloads must remain on-premises. This integration will help customers to build their hybrid cloud strategy leveraging OpenShift to run their workloads on-premises, keeping the same processes and user experience as they were running these workloads in the Azure public cloud.

Deploying OpenShift on Azure Stack Hub using user-provisioned infrastructure

Detailed instructions on how to deploy OpenShift on Azure Stack Hub are available in docs.openshift.com as they are for other platforms. This post is doing a high-level overall overview of the steps required.

For this release, the user will need to provide the required infrastructure where OpenShift will be deployed. For customers who want to leverage infrastructure as code Azure provides a solution called Azure Resource Manager templates. As part of the instructions, we are providing opinionated templates as a reference architecture to easily create all the required infrastructure components for OpenShift, such as networking, storage, compute and others.

When using user-provisioned infrastructure the steps are the same as any other provider. An install-config.yaml needs to be created with the specific information for the Azure Stack Hub environment where we are deploying OpenShift. The documentation already provides a sample that the user will customize to match their needs.

Using the OpenShift installation program we will generate the Kubernetes manifest for the cluster:

$ openshift-install create manifests
INFO Credentials loaded from file "/home/mak/.azure/osServicePrincipal.json"
INFO Consuming Install Config from target directory
WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings
INFO Manifests created in: manifests and openshift

As we are deploying the cluster using an infrastructure provisioned by the user, we need to do some additional changes to the generated manifests. We are going to remove the manifest files that define the control plane and worker machines as we are going to manually manage those.

The next step is to manually create the cloud credentials from the release image the installation program is built to use:

$ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.9.0-rc.8-x86_64 --credentials-requests --cloud=azure --to=credentials-request
$ ll credentials-request/
total 20
-rw-rw-r-- 1 mak mak 568 Oct 18 21:39 0000_26_cloud-controller-manager-operator_14_credentialsrequest-azure.yaml
-rw-rw-r-- 1 mak mak 591 Oct 18 21:39 0000_30_machine-api-operator_00_credentials-request.yaml
-rw-rw-r-- 1 mak mak 656 Oct 18 21:39 0000_50_cluster-image-registry-operator_01-registry-credentials-request-azure.yaml
-rw-rw-r-- 1 mak mak 641 Oct 18 21:39 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml
-rw-rw-r-- 1 mak mak 611 Oct 18 21:39 0000_50_cluster-storage-operator_03_credentials_request_azure.yaml

We need to generate now the corresponding Secrets using the secretRef information from each CredentialsRequest file, and after that, we can create the Ignition configuration files:

$ openshift-install create ignition-configs
INFO Consuming Worker Machines from target directory
INFO Consuming Common Manifests from target directory
INFO Consuming Master Machines from target directory
INFO Consuming Openshift Manifests from target directory
INFO Consuming OpenShift Install (Manifests) from target directory
INFO Ignition-Configs created in: . and auth

We are now ready to create all the required infrastructure using the provided Azure Resource Manager templates and bootstrap the cluster:

$ openshift-install wait-for bootstrap-complete --log-level debug
DEBUG OpenShift Installer 4.9.0-rc.8             
DEBUG Built from commit 6e5b992ba719dd4ea2d0c2a8b08ecad45179e553
INFO Waiting up to 20m0s for the Kubernetes API at https://api.mak-blog.ppe.upi.azurestack.devcluster.openshift.com:6443...
INFO API v1.22.0-rc.0+894a78b up                
INFO Waiting up to 30m0s for bootstrapping to complete...
DEBUG Bootstrap status: complete                 
INFO It is now safe to remove the bootstrap resources
DEBUG Time elapsed per stage:                    
DEBUG Bootstrap Complete: 10m42s                 
DEBUG                API: 1s                     
INFO Time elapsed: 10m42s

At this point the OpenShift Cluster will be ready to use and worker nodes can be added to the cluster.

$ oc get clusteroperators
NAME                                   VERSION  AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
authentication                         4.9.0-rc.8   True    False     False  29h
baremetal                              4.9.0-rc.8   True    False     False  4d17h  
cloud-controller-manager               4.9.0-rc.8   True    False     False  4d17h  
cloud-credential                       4.9.0-rc.8   True    False     False  4d17h  
cluster-autoscaler                     4.9.0-rc.8   True    False     False  4d17h  
config-operator                        4.9.0-rc.8   True    False     False  4d17h  
console                                4.9.0-rc.8   True    False     False  29h
csi-snapshot-controller                4.9.0-rc.8   True    False     False  4d17h  
dns                                    4.9.0-rc.8   True    False     False  4d17h  
etcd                                   4.9.0-rc.8   True    False     False  4d17h  
image-registry                         4.9.0-rc.8   True    False     False  4d17h  
ingress                                4.9.0-rc.8   True    False     False  4d16h  
insights                               4.9.0-rc.8   True    False     False  4d17h  
kube-apiserver                         4.9.0-rc.8   True    False     False  4d17h  
kube-controller-manager                4.9.0-rc.8   True    False     False  4d17h  
kube-scheduler                         4.9.0-rc.8   True    False     False  4d17h  
kube-storage-version-migrator          4.9.0-rc.8   True    False     False  4d17h  
machine-api                            4.9.0-rc.8   True    False     False  4d17h  
machine-approver                       4.9.0-rc.8   True    False     False  4d17h  
machine-config                         4.9.0-rc.8   True    False     False  4d17h  
marketplace                            4.9.0-rc.8   True    False     False  4d17h  
monitoring                             4.9.0-rc.8   True    False     False  4d16h  
network                                4.9.0-rc.8   True    False     False  4d17h  
node-tuning                            4.9.0-rc.8   True    False     False  4d17h  
openshift-apiserver                    4.9.0-rc.8   True    False     False  29h
openshift-controller-manager           4.9.0-rc.8   True    False     False  4d17h  
openshift-samples                      4.9.0-rc.8   True    False     False  4d17h  
operator-lifecycle-manager             4.9.0-rc.8   True    False     False  4d17h  
operator-lifecycle-manager-catalog     4.9.0-rc.8   True    False     False  4d17h  
operator-lifecycle-manager-packageserver   4.9.0-rc.8   True    False     False  29h
service-ca                             4.9.0-rc.8   True    False     False  4d17h  
storage                                4.9.0-rc.8   True    False     False  4d17h

We can log in to the OpenShift Console and check the status of the Cluster.

Check if nodes are ready to run workloads.

Or check that we can consume storage volumes directly from our Azure Stack Hub environment.

Conclusion

This new provider integration will enable existing or new Azure customers to deploy and run OpenShift clusters on their own autonomous cloud on-premises the same way they were doing on the public cloud.

Red Hat’s hybrid cloud experience will let customers use consistent tools and models while giving them the flexibility to choose between Azure and Azure Stack Hub when building and deploying their applications.

We are really excited to see how customers take advantage of this new feature and continue working with them on their hybrid cloud journey.


Über den Autor

Marcos Entenza, a.k.a Mak, works on the core Red Hat OpenShift Container Platform for hybrid and multi-cloud environments to enable customers to run Red Hat OpenShift anywhere. Mak is an experienced Product Manager with a passion for building scalable infrastructures and he is responsible for installation and provider integration specifically for cloud environments.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Nach Thema durchsuchen

automation icon

Automatisierung

Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen

AI icon

Künstliche Intelligenz

Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen

open hybrid cloud icon

Open Hybrid Cloud

Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.

security icon

Sicherheit

Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren

edge icon

Edge Computing

Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen

Infrastructure icon

Infrastruktur

Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen

application development icon

Anwendungen

Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen

Original series icon

Original Shows

Interessantes von den Experten, die die Technologien in Unternehmen mitgestalten