Added brief azure openshift local guide.
This commit is contained in:
131
2025-09-14-openshift-local-azure/README.org
Normal file
131
2025-09-14-openshift-local-azure/README.org
Normal file
@ -0,0 +1,131 @@
|
||||
#+TITLE: Deploy openshift local on azure
|
||||
#+DATE: <2025-09-14 Sun>
|
||||
#+AUTHOR: James Blair
|
||||
|
||||
|
||||
This short write-up will explain how to deploy [[https://developers.redhat.com/products/openshift-local/overview][OpenShift Local]] on a Microsoft Azure Virtual Machine via nested virtualization.
|
||||
|
||||
|
||||
* Pre-requisites
|
||||
|
||||
Before we begin let's ensure we have the ~az~ [[https://github.com/Azure/azure-cli][Azure CLI]] installed. In my case I installed this via ~brew~.
|
||||
|
||||
#+NAME: Check ac status
|
||||
#+begin_src bash
|
||||
az version --output table
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: Check ac status
|
||||
#+begin_example
|
||||
Azure-cli Azure-cli-core Azure-cli-telemetry
|
||||
----------- ---------------- ---------------------
|
||||
2.77.0 2.77.0 1.1.0
|
||||
#+end_example
|
||||
|
||||
|
||||
Once the CLI is installed we need to ensure we have authenticated with Azure in our terminal. This guide assumes you have an existing Azure account.
|
||||
|
||||
#+NAME: Login to azure
|
||||
#+begin_src bash
|
||||
az login
|
||||
#+end_src
|
||||
|
||||
|
||||
Lastly, after logging in this guide assumes you will already have an appropriate Azure [[https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview#resource-groups][Resource Group]] available to create the virtual machine within. You can check your Azure resource groups as follows.
|
||||
|
||||
#+NAME: Check resource groups
|
||||
#+begin_src bash
|
||||
az group list --output table
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: Check resource groups
|
||||
#+begin_example
|
||||
Name Location Status
|
||||
---------------- ---------- ---------
|
||||
openenv-jldt6 eastus Succeeded
|
||||
NetworkWatcherRG eastus Succeeded
|
||||
aro-asl4w0j5 eastus Succeeded
|
||||
#+end_example
|
||||
|
||||
|
||||
* Create azure virtual machine
|
||||
|
||||
Update the variables below and run the ~az vm create~ command to create the new virtual machine.
|
||||
|
||||
One of the crucial aspects of this command is the ~--size~ parameter which is ensuring we will provision a virtual machine that supports **Nested Virtualization**.
|
||||
|
||||
Additionally we need to ensure the machine has at least ~30Gi~ disk free for the OpenShift Local installation.
|
||||
|
||||
#+NAME: Create azure virtual machine
|
||||
#+begin_src bash
|
||||
vmname="openshift-local"
|
||||
username="openshift"
|
||||
resourcegroup="openenv-jldt6"
|
||||
location="eastus"
|
||||
az vm create \
|
||||
--resource-group "${resourcegroup}" \
|
||||
--name "${vmname}" \
|
||||
--image "RHELRaw8LVMGen2" \
|
||||
--public-ip-sku Standard \
|
||||
--admin-username "${username}" \
|
||||
--size "Standard_D8_v5" \
|
||||
--ssh-key-values ~/.ssh/james.pub \
|
||||
--os-disk-size-gb 128
|
||||
#+end_src
|
||||
|
||||
#+RESULTS: Create azure virtual machine
|
||||
#+begin_example
|
||||
{
|
||||
"fqdns": "",
|
||||
"id": "/subscriptions/b9c5c8e5-1ac1-43a5-9d6b-1c9f4ff1cd1c/resourceGroups/openenv-jldt6/providers/Microsoft.Compute/virtualMachines/openshift-local",
|
||||
"location": "eastus",
|
||||
"macAddress": "00-0D-3A-9B-FB-38",
|
||||
"powerState": "VM running",
|
||||
"privateIpAddress": "10.0.0.10",
|
||||
"publicIpAddress": "172.171.221.17",
|
||||
"resourceGroup": "openenv-jldt6"
|
||||
}
|
||||
#+end_example
|
||||
|
||||
|
||||
* Connect to virtual machine
|
||||
|
||||
Once the machine is running we can connect to it via the ~az cli~ as follows.
|
||||
|
||||
Note: Depending on the azure vnet configuration in your environment you may need to configure network security settings to enable connectivity to the machine on port ~22~.
|
||||
|
||||
#+NAME: Connect to vm
|
||||
#+begin_src bash
|
||||
az ssh vm --ip <ip address>
|
||||
#+end_src
|
||||
|
||||
|
||||
* Install openshift local
|
||||
|
||||
Once we've connected to our machine we need to download OpenShift Local and extract it.
|
||||
|
||||
#+NAME: Download openshift local
|
||||
#+begin_src bash
|
||||
wget https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz
|
||||
tar xf crc-linux-amd64.tar.xz
|
||||
#+end_src
|
||||
|
||||
|
||||
With the ~crc~ binary downloaded and extracted let's run the setup subcommand.
|
||||
|
||||
#+NAME: Setup openshift local
|
||||
#+begin_src bash
|
||||
./crc-linux-2.54.0-amd64/crc setup
|
||||
#+end_src
|
||||
|
||||
|
||||
* Launch openshift local
|
||||
|
||||
Once the setup process completes, we can launch OpenShift Local as follows.
|
||||
|
||||
Note: The initial launch can take ~15 minutes to complete as the cluster setup is performed.
|
||||
|
||||
#+NAME
|
||||
#+begin_src bash
|
||||
./crc-linux-2.54.0-amd64/crc start
|
||||
#+end_src
|
||||
Reference in New Issue
Block a user